private void moveFloatingWindows() { // 2005/10/10
		Window w = SwingUtilities.getWindowAncestor(this);
		if (w == null) {
			return; // 2007/02/27 fixed NPE
		}

		Point newLocation = w.getLocation();
		if (this.lastWindowLocation != null) {
			int dx = newLocation.x - lastWindowLocation.x;
			int dy = newLocation.y - lastWindowLocation.y;
			Window[] childWindow = w.getOwnedWindows();
			for (int i = 0; i < childWindow.length; i++) {
				if (childWindow[i] instanceof FloatingDockableContainer
						&& childWindow[i].isVisible()) {
					Point p = childWindow[i].getLocation();
					childWindow[i].setLocation(p.x + dx, p.y + dy);
				}
			}
		}

		lastWindowLocation = newLocation;
	}