@Override
 public void unbind(Dockable dockable) {
   super.unbind(dockable);
   bound--;
   if (bound == 0) {
     if (parent != null) {
       parent.removeDockStationListener(adapter);
     }
     this.dockable.removeDockHierarchyListener(hierarchy);
     parent = null;
   }
 }
    @Override
    public void bind(Dockable dockable) {
      bound++;
      if (bound == 1) {
        this.dockable.addDockHierarchyListener(hierarchy);
        parent = this.dockable.getDockParent();

        if (parent != null) {
          parent.addDockStationListener(adapter);
        }

        checkState();
      }
      super.bind(dockable);
    }