private DockableState removePreviousFloatingState(Dockable dockable) {
		if (dockable instanceof CompoundDockable) {
			// we also need to clear states of the compound children
			ArrayList children = DockingUtilities
					.findCompoundDockableChildren((CompoundDockable) dockable);
			for (int i = 0; i < children.size(); i++) {
				Dockable d = (Dockable) children.get(i);
				previousFloatingDockableStates.remove(d);
			}
		}

		return previousFloatingDockableStates.remove(dockable);
	}