Index: trunk/src/org/apollo/ApolloKBMGestureTranslator.java
===================================================================
--- trunk/src/org/apollo/ApolloKBMGestureTranslator.java	(revision 1531)
+++ trunk/src/org/apollo/ApolloKBMGestureTranslator.java	(revision 1532)
@@ -142,5 +142,6 @@
 				
 				// Return the gesture
-				return apolloSingle(ApolloGestureType.CREATE_LINKED_TRACKS, new ItemSpecificGestureData());
+				boolean isShiftDown = StandardInputEventListeners.kbmStateListener.isKeyDown(Key.SHIFT);
+				return apolloSingle(ApolloGestureType.CREATE_LINKED_TRACKS, new ItemSpecificGestureData(isShiftDown));
 			}
 		});
Index: trunk/src/org/apollo/gio/gesture/data/TrackAdjustmentGestureData.java
===================================================================
--- trunk/src/org/apollo/gio/gesture/data/TrackAdjustmentGestureData.java	(revision 1531)
+++ trunk/src/org/apollo/gio/gesture/data/TrackAdjustmentGestureData.java	(revision 1532)
@@ -9,4 +9,5 @@
 	public TrackAdjustmentGestureData(long adjustment)
 	{
+		super(false);
 		_adjustment = adjustment;
 	}
Index: trunk/src/org/expeditee/actions/ScriptBase.java
===================================================================
--- trunk/src/org/expeditee/actions/ScriptBase.java	(revision 1531)
+++ trunk/src/org/expeditee/actions/ScriptBase.java	(revision 1532)
@@ -213,5 +213,5 @@
 	    errorFrame = FrameIO.CreateFrame(ERROR_FRAMESET, title, null);
 	} else {
-	    errorFrame = FrameIO.CreateFrameset(ERROR_FRAMESET, FrameIO.FRAME_PATH);
+	    errorFrame = FrameIO.CreateFrameset(ERROR_FRAMESET, FrameIO.FRAME_PATH, null);
 	    errorFrame.setTitle(title);
 	}
Index: trunk/src/org/expeditee/actions/Simple.java
===================================================================
--- trunk/src/org/expeditee/actions/Simple.java	(revision 1531)
+++ trunk/src/org/expeditee/actions/Simple.java	(revision 1532)
@@ -2187,5 +2187,5 @@
 				try {
 					FrameIO.CreateFrameset(freshCopy.getFramesetName(),
-							frameToCopy.getPath());
+							frameToCopy.getPath(), null);
 					nextNumber = 1;
 				} catch (Exception e) {
Index: trunk/src/org/expeditee/agents/CopyTree.java
===================================================================
--- trunk/src/org/expeditee/agents/CopyTree.java	(revision 1531)
+++ trunk/src/org/expeditee/agents/CopyTree.java	(revision 1532)
@@ -56,5 +56,5 @@
 			// get the last used frame in the destination frameset
 			_lastNumber = FrameIO.getLastNumber(_nameTo);
-			Frame one = FrameIO.CreateFrameset(_nameTo, init.getPath());
+			Frame one = FrameIO.CreateFrameset(_nameTo, init.getPath(), null);
 
 			_framePath = one.getPath();
Index: trunk/src/org/expeditee/agents/GraphFramesetLinks.java
===================================================================
--- trunk/src/org/expeditee/agents/GraphFramesetLinks.java	(revision 1531)
+++ trunk/src/org/expeditee/agents/GraphFramesetLinks.java	(revision 1532)
@@ -82,5 +82,5 @@
 		try {
 			// Creating frameset that is used to hold any generated link graphs
-			FrameIO.CreateNewFrameset(resultsFramesetName);
+			FrameIO.CreateNewFrameset(resultsFramesetName, null);
 		} catch (Exception e2) {
 			// frameset already exists
Index: trunk/src/org/expeditee/gio/gesture/ExpediteeKBMGestureTranslator.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/ExpediteeKBMGestureTranslator.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/ExpediteeKBMGestureTranslator.java	(revision 1532)
@@ -573,6 +573,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ANNOTATION), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ANNOTATION), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -594,6 +596,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.INSERT_DATE), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.INSERT_DATE), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -615,6 +619,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.NEW_FRAMESET), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.NEW_FRAMESET), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -636,6 +642,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ROTATE_FONT_STYLE), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ROTATE_FONT_STYLE), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -657,6 +665,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ROTATE_FONT_FAMILY), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ROTATE_FONT_FAMILY), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -816,6 +826,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.CALCULATE), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.CALCULATE), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -843,5 +855,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.CALCULATE), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.CALCULATE), new ItemSpecificGestureData(false));
 			}
 		});
@@ -920,6 +932,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ACTION), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.ACTION), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -946,6 +960,8 @@
 				}
 				
-				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_BOLD), new ItemSpecificGestureData());
+				boolean isShiftDown = kbmTranslator.isKeyDown(Key.SHIFT);
+				
+				// Return the gesture
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_BOLD), new ItemSpecificGestureData(isShiftDown));
 			}
 		});
@@ -973,5 +989,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ITALICS), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ITALICS), new ItemSpecificGestureData(false));
 			}
 		});
@@ -1025,5 +1041,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.COPY), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.COPY), new ItemSpecificGestureData(false));
 			}
 		});
@@ -1056,5 +1072,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.MAKE_CIRCLE), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.MAKE_CIRCLE), new ItemSpecificGestureData(false));
 			}
 		});
@@ -1108,5 +1124,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ITEMS_MARK), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ITEMS_MARK), new ItemSpecificGestureData(false));
 			}
 		});
@@ -1372,5 +1388,5 @@
 				
 				// Return the gesture
-				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.SPLIT_TEXT), new ItemSpecificGestureData());
+				return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.SPLIT_TEXT), new ItemSpecificGestureData(false));
 			}
 		});
@@ -2067,5 +2083,5 @@
 					}
 					
-					return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ARROWHEAD), new ItemSpecificGestureData(line));
+					return Gesture.single(StandardGestureActions.getInstance().gestureType(StandardGestureType.TOGGLE_ARROWHEAD), new ItemSpecificGestureData(line, false));
 				}
 				
@@ -2151,5 +2167,5 @@
 				
 				// Return the gesture
-				return standardSingle(StandardGestureType.EXTRACT_ATTRIBUTES, new ItemSpecificGestureData());
+				return standardSingle(StandardGestureType.EXTRACT_ATTRIBUTES, new ItemSpecificGestureData(false));
 			}
 		});
Index: trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java	(revision 1532)
@@ -669,5 +669,5 @@
 				ItemSpecificGestureData data = (ItemSpecificGestureData) gesture.getData();
 				if (data.getCurrentItem() != null) {
-					CreateFrameset(data.getCurrentItem());
+					CreateFrameset(data.getCurrentItem(), data.isShiftDown());
 				}
 			}
@@ -2947,8 +2947,8 @@
 	/**
 	 * Creates a new Frameset with the name given by the Item
-	 * 
-	 * @param name
+	 * @param useLinkForZeroFrame if true, will try to use the content from 
+	 * the frame specified by the link as the zero frame for new frameset 
 	 */
-	private static void CreateFrameset(Item item) {
+	private static void CreateFrameset(Item item, boolean useLinkForZeroFrame) {
 		if (item == null) {
 			MessageBay.displayMessage("There is no selected item to use for the frameset name");
@@ -2961,8 +2961,15 @@
 		}
 
+		// Collect Items to place on new zero frame.
+		Collection<Item> zeroLinkItems = null; 
 		// Don't create frameset if the item is linked
-		if (item.getLink() != null) {
-			MessageBay.displayMessage("A frameset can not be created from a linked item");
+		if (item.getLink() != null && !useLinkForZeroFrame) {
+			MessageBay.displayMessage("A frameset can not be created from a linked item without holding shift.  Hold shift while pressing F6 to use items on linked frame to populate zero frame.");
 			return;
+		} else if (item.getLink() != null && useLinkForZeroFrame) {
+			Frame frameToUseForZeroFrameCreation = FrameIO.LoadFrame(item.getLink());
+			if (frameToUseForZeroFrameCreation != null) {
+				zeroLinkItems = frameToUseForZeroFrameCreation.getBody(true).cloneList();
+			}
 		}
 
@@ -2980,8 +2987,8 @@
 				String groupName = name.substring(7);
 				// create the new group
-				linkTo = FrameIO.CreateNewGroup(groupName);
+				linkTo = FrameIO.CreateNewGroup(groupName, zeroLinkItems);
 			} else {
 				// create the new frameset
-				linkTo = FrameIO.CreateNewFrameset(name);
+				linkTo = FrameIO.CreateNewFrameset(name, zeroLinkItems);
 			}
 			DisplayController.setCursor(Item.DEFAULT_CURSOR);
Index: trunk/src/org/expeditee/gio/gesture/data/ChangeColourGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/ChangeColourGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/ChangeColourGestureData.java	(revision 1532)
@@ -8,5 +8,5 @@
 	public ChangeColourGestureData(boolean setTransparent, boolean setSecondaryColour)
 	{
-		super();
+		super(false);
 		_setTransparent = setTransparent;
 		_setSecondaryColour = setSecondaryColour;
Index: trunk/src/org/expeditee/gio/gesture/data/ClickGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/ClickGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/ClickGestureData.java	(revision 1532)
@@ -7,5 +7,5 @@
 	public ClickGestureData(boolean longClick)
 	{
-		super();
+		super(false);
 		_longClick = longClick;
 	}
Index: trunk/src/org/expeditee/gio/gesture/data/CreateItemGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/CreateItemGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/CreateItemGestureData.java	(revision 1532)
@@ -12,5 +12,5 @@
 	public CreateItemGestureData(ItemType itemType)
 	{
-		super();
+		super(false);
 		_itemType = itemType;
 	}
Index: trunk/src/org/expeditee/gio/gesture/data/DeleteGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/DeleteGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/DeleteGestureData.java	(revision 1532)
@@ -7,5 +7,5 @@
 	public DeleteGestureData(boolean alternateMode)
 	{
-		super();
+		super(false);
 		_alternateMode = alternateMode;
 	}
Index: trunk/src/org/expeditee/gio/gesture/data/InsertStringGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/InsertStringGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/InsertStringGestureData.java	(revision 1532)
@@ -4,9 +4,7 @@
 	
 	private String _string;
-	private boolean _shiftDown; // Required for Shift+Tab
-	
 	public InsertStringGestureData(String string, boolean shiftDown)
 	{
-		super();
+		super(false);
 		_string = string;
 		_shiftDown = shiftDown;
@@ -15,5 +13,5 @@
 	public InsertStringGestureData(char c, boolean shiftDown)
 	{
-		super();
+		super(false);
 		_string = new String("" + c);
 		_shiftDown = shiftDown;
@@ -32,9 +30,4 @@
 	}
 	
-	public boolean isShiftDown()
-	{
-		return _shiftDown;
-	}
-	
 	@Override
 	public GestureData clone()
Index: trunk/src/org/expeditee/gio/gesture/data/ItemSpecificGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/ItemSpecificGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/ItemSpecificGestureData.java	(revision 1532)
@@ -14,15 +14,18 @@
 	protected Collection<Item> _currentItems;
 	protected Collection<Item> _enclosure;
+	protected boolean _shiftDown;
 	
-	public ItemSpecificGestureData(Item item)
+	public ItemSpecificGestureData(Item item, boolean isShiftDown)
 	{
 		super();
 		_currentItem = item;
+		_shiftDown = isShiftDown;
 	}
 	
-	public ItemSpecificGestureData()
+	public ItemSpecificGestureData(boolean isShiftDown)
 	{
 		super();
 		init();
+		_shiftDown = isShiftDown;
 	}
 	
@@ -83,3 +86,7 @@
 		return new ItemSpecificGestureData(this);
 	}
+
+	public boolean isShiftDown() {
+		return _shiftDown;
+	}
 }
Index: trunk/src/org/expeditee/gio/gesture/data/JustifyGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/JustifyGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/JustifyGestureData.java	(revision 1532)
@@ -11,5 +11,5 @@
 	public JustifyGestureData(boolean resetWidth)
 	{
-		super();
+		super(false);
 		_frame = DisplayController.getCurrentFrame();
 		_resetWidth = resetWidth;
@@ -18,5 +18,5 @@
 	public JustifyGestureData(Frame frame, boolean resetWidth)
 	{
-		super();
+		super(false);
 		_frame = frame;
 		_resetWidth = resetWidth;
Index: trunk/src/org/expeditee/gio/gesture/data/LinkGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/LinkGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/LinkGestureData.java	(revision 1532)
@@ -7,5 +7,5 @@
 	public LinkGestureData(boolean follow)
 	{
-		super();
+		super(false);
 		_follow = follow;
 	}
Index: trunk/src/org/expeditee/gio/gesture/data/NavigateTextGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/NavigateTextGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/NavigateTextGestureData.java	(revision 1532)
@@ -23,5 +23,5 @@
 	public NavigateTextGestureData(NavigateTo navigateTo, boolean selecting)
 	{
-		super();
+		super(false);
 		_navigateTo = navigateTo;
 		_selecting = selecting;
Index: trunk/src/org/expeditee/gio/gesture/data/ScaleGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/ScaleGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/ScaleGestureData.java	(revision 1532)
@@ -14,5 +14,5 @@
 	public ScaleGestureData(int scaleFactor)
 	{
-		super();
+		super(false);
 		_scaleFactor = scaleFactor;		
 	}
Index: trunk/src/org/expeditee/gio/gesture/data/SelectAreaGestureData.java
===================================================================
--- trunk/src/org/expeditee/gio/gesture/data/SelectAreaGestureData.java	(revision 1531)
+++ trunk/src/org/expeditee/gio/gesture/data/SelectAreaGestureData.java	(revision 1532)
@@ -27,5 +27,5 @@
 	public SelectAreaGestureData()
 	{
-		super();
+		super(false);
 		_draggedFrom = null;
 		_finishedDragging = true;
Index: trunk/src/org/expeditee/gui/FrameCreator.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameCreator.java	(revision 1531)
+++ trunk/src/org/expeditee/gui/FrameCreator.java	(revision 1532)
@@ -169,5 +169,5 @@
 				toUse = FrameIO.CreateFrame(framesetName, frameTitle, null);
 			} else {
-				toUse = FrameIO.CreateFrameset(framesetName, path.toAbsolutePath().toString() + File.separator, true);
+				toUse = FrameIO.CreateFrameset(framesetName, path.toAbsolutePath().toString() + File.separator, true, null);
 			}
 			
Index: trunk/src/org/expeditee/gui/FrameIO.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameIO.java	(revision 1531)
+++ trunk/src/org/expeditee/gui/FrameIO.java	(revision 1532)
@@ -816,5 +816,5 @@
 			// create the new frameset
 			Frame one = FrameIO.CreateFrameset(DELETED_FRAMES, toDelete
-					.getPath());
+					.getPath(), null);
 			framePath = one.getPath();
 			lastNumber = 0;
@@ -1015,9 +1015,10 @@
 	 * @param frameset
 	 *            The name of the Frameset to create
+	 * @param zeroFrameItems TODO
 	 * @return The first Frame of the new Frameset (Frame.1)
 	 */
-	public static Frame CreateFrameset(String frameset, String path)
+	public static Frame CreateFrameset(String frameset, String path, Collection<Item> zeroFrameItems)
 			throws Exception {
-		return CreateFrameset(frameset, path, false);
+		return CreateFrameset(frameset, path, false, zeroFrameItems);
 	}
 
@@ -1257,5 +1258,5 @@
 				} catch (RuntimeException e) {
 					try {
-						CreateFrameset(oldFramesetName, toSave.getPath());
+						CreateFrameset(oldFramesetName, toSave.getPath(), null);
 						nextnum = 1;
 					} catch (Exception e1) {
@@ -1584,8 +1585,9 @@
 	 * @param name
 	 *            The Frameset name to use
+	 * @param zeroFrameItems TODO
 	 * @return The name of the first Frame in the newly created Frameset (the .1
 	 *         frame)
 	 */
-	public static Frame CreateNewFrameset(String name) throws Exception {
+	public static Frame CreateNewFrameset(String name, Collection<Item> zeroFrameItems) throws Exception {
 		String path = DisplayController.getCurrentFrame().getPath();
 
@@ -1595,10 +1597,10 @@
 		}
 
-		Frame newFrame = FrameIO.CreateFrameset(name, path);
+		Frame newFrame = FrameIO.CreateFrameset(name, path, zeroFrameItems);
 
 		if (newFrame == null) {
 			// Cant create directories if the path is readonly or there is no
 			// space available
-			newFrame = FrameIO.CreateFrameset(name, FrameIO.FRAME_PATH);
+			newFrame = FrameIO.CreateFrameset(name, FrameIO.FRAME_PATH, zeroFrameItems);
 		}
 
@@ -1610,7 +1612,7 @@
 	}
 	
-	public static Frame CreateNewGroup(String name) {
+	public static Frame CreateNewGroup(String name, Collection<Item> zeroFrameItems) {
 		try {
-			Frame oneFrame = FrameIO.CreateFrameset(name, FrameIO.GROUP_PATH);
+			Frame oneFrame = FrameIO.CreateFrameset(name, FrameIO.GROUP_PATH, zeroFrameItems);
 			oneFrame.setPermission(new PermissionTriple(UserAppliedPermission.full, UserAppliedPermission.none, UserAppliedPermission.none));
 			
@@ -1694,5 +1696,5 @@
 	}
 
-	public static Frame CreateFrameset(String frameset, String path, boolean recreate) throws InvalidFramesetNameException, ExistingFramesetException {
+	public static Frame CreateFrameset(String frameset, String path, boolean recreate, Collection<Item> zeroFrameItems) throws InvalidFramesetNameException, ExistingFramesetException {
 		String conversion = frameset + " --> ";
 
@@ -1772,4 +1774,7 @@
 		base.setPath(path);
 		base.change();
+		if (zeroFrameItems != null) {
+			base.addAllItems(zeroFrameItems);
+		}
 		SaveFrame(base, false);
 
Index: trunk/src/org/expeditee/gui/management/ProfileManager.java
===================================================================
--- trunk/src/org/expeditee/gui/management/ProfileManager.java	(revision 1531)
+++ trunk/src/org/expeditee/gui/management/ProfileManager.java	(revision 1532)
@@ -39,5 +39,5 @@
 		
 		try {
-			Frame profile = FrameIO.CreateFrameset(profileFor, FrameIO.PROFILE_PATH, true);
+			Frame profile = FrameIO.CreateFrameset(profileFor, FrameIO.PROFILE_PATH, true, null);
 			profileOne = profile;
 			profile.setTitle(profileFor + "'s Profile");
@@ -148,5 +148,5 @@
 	private static void createDefaultProfile() {
 		try {
-			Frame profile = FrameIO.CreateFrameset(DEFAULT, FrameIO.PROFILE_PATH, true);
+			Frame profile = FrameIO.CreateFrameset(DEFAULT, FrameIO.PROFILE_PATH, true, null);
 			
 			// Give the first frame in the new profile an appropriate title.
Index: trunk/src/org/expeditee/importer/pdfImporter.java
===================================================================
--- trunk/src/org/expeditee/importer/pdfImporter.java	(revision 1531)
+++ trunk/src/org/expeditee/importer/pdfImporter.java	(revision 1532)
@@ -72,5 +72,5 @@
 		try
 		{
-			frameset = FrameIO.CreateNewFrameset(name);
+			frameset = FrameIO.CreateNewFrameset(name, null);
 		}
 		catch(Exception e)
Index: trunk/src/org/expeditee/io/WebParser.java
===================================================================
--- trunk/src/org/expeditee/io/WebParser.java	(revision 1531)
+++ trunk/src/org/expeditee/io/WebParser.java	(revision 1532)
@@ -335,5 +335,5 @@
 			final Progress progressBar = MessageBay.displayProgress("Converting web page");
 
-			final Frame frameset = FrameIO.CreateNewFrameset(FrameIO.ConvertToValidFramesetName((new SimpleDateFormat("yy-MM-dd-HH-mm-ss").format(new Date())) + pageTitle));
+			final Frame frameset = FrameIO.CreateNewFrameset(FrameIO.ConvertToValidFramesetName((new SimpleDateFormat("yy-MM-dd-HH-mm-ss").format(new Date())) + pageTitle), null);
 
 			frameset.setTitle(pageTitle);
Index: trunk/src/org/expeditee/simple/Context.java
===================================================================
--- trunk/src/org/expeditee/simple/Context.java	(revision 1531)
+++ trunk/src/org/expeditee/simple/Context.java	(revision 1532)
@@ -275,5 +275,5 @@
 			// Get the values to be set
 			framesetName = primitives_.getStringValue(framesetNameVar);
-			Frame firstFrame = FrameIO.CreateNewFrameset(framesetName);
+			Frame firstFrame = FrameIO.CreateNewFrameset(framesetName, null);
 			success = firstFrame != null;
 		} catch (Exception e) {
Index: trunk/src/org/expeditee/stats/StatsLogger.java
===================================================================
--- trunk/src/org/expeditee/stats/StatsLogger.java	(revision 1531)
+++ trunk/src/org/expeditee/stats/StatsLogger.java	(revision 1532)
@@ -79,5 +79,5 @@
 				Frame statsFrame = null;
 				if (FrameIO.LoadFrame(statsFrameset + "0") == null) {
-					statsFrame = FrameIO.CreateNewFrameset(statsFrameset);
+					statsFrame = FrameIO.CreateNewFrameset(statsFrameset, null);
 					statsFrame.setTitle(Formatter.getDateTime());
 				} else {
