public boolean restore(Dockable dockable) {
if(dockable==null || isDocked(dockable))
return false;
DockingPort rootPort = getRootDockingPort();
String region = CENTER_REGION;
if(nodes.size()==0) {
return dockFullPath(dockable, rootPort, region);
}
DockingPort port = rootPort;
for(Iterator it=nodes.iterator(); it.hasNext();) {
SplitNode node = (SplitNode)it.next();
Component comp = port.getDockedComponent();
region = getRegion(node, comp);
JSplitPane splitPane = comp instanceof JSplitPane? (JSplitPane)comp: null;
// path was broken. we have no SplitPane, or the SplitPane doesn't
// match the orientation of the current node, meaning the path was