*/
	public void addDockable(CompoundDockable base, Dockable dockable) {

		registerDockable(dockable);

		DockableState currentState = getDockableState(dockable);
		DockableState.Location currentLocation = getLocation(currentState);

		DockableState newState = new DockableState(this, dockable,
				DockableState.Location.DOCKED);
		DockableStateWillChangeEvent dswe = new DockableStateWillChangeEvent(
				currentState, newState);

		CompoundDockingPanel panel = (CompoundDockingPanel) base.getComponent();

		DockingActionEvent dae = new DockingActionAddDockableEvent(this,
				dockable, currentLocation, newState.getLocation(), panel);

		if (isDockingActionAccepted(dae, dswe)) {
			DockableContainer dockableContainer = DockableContainerFactory
					.getFactory().createDockableContainer(dockable,
							DockableContainerFactory.ParentType.PARENT_DESKTOP);
			dockableContainer.installDocking(this);
			// TODO : check and raise exception if not empty
			panel.add((JComponent) dockableContainer, BorderLayout.CENTER);

			context.setDockableState(dockable, newState);
			dockable.getDockKey().setLocation(DockableState.Location.DOCKED);
			fireDockingAction(dae, new DockableStateChangeEvent(currentState,
					newState));
		}

	}