public static void collapseEverything(JoeTree tree) {
		int limit = tree.getRootNode().numOfChildren();
		for (int i = 0; i < limit; i++) {
			tree.getRootNode().getChild(i).CollapseAllSubheads();
		}
		
		// Record the EditingNode, Mark and CursorPosition
		Node firstNode = tree.getRootNode().getFirstChild();
		tree.setEditingNode(firstNode);
		tree.setComponentFocus(OutlineLayoutManager.ICON);
		
		// Update Selection
		tree.setSelectedNodesParent(tree.getRootNode());
		tree.addNodeToSelection(firstNode);
		
		// Redraw and Set Focus
		tree.getDocument().panel.layout.draw(firstNode,OutlineLayoutManager.ICON);
		
		return;
	}