code: public static DockableState fixVLDockingBug(DockingDesktop dockingDesktop, Dockable dockable) {
  
          Assert.notNull(dockingDesktop, "dockingDesktop");
          Assert.notNull(dockable, "dockable");
  
          final DockingContext dockingContext = dockingDesktop.getContext();
          final DockKey dockKey = dockable.getDockKey();
  
          DockableState dockableState = dockingDesktop.getDockableState(dockable);
  
          final Boolean thisFixApplies = (dockingContext.getDockableByKey(dockKey.getKey()) != null);
          if ((thisFixApplies) && (dockableState == null)) {
              dockingDesktop.registerDockable(dockable);
              dockableState = dockingDesktop.getDockableState(dockable);
  //            dockKey.setLocation(dockableState.getLocation());
  
              Assert.notNull(dockableState, "dockableState");
          }
  
          return dockableState;
      }
docs: Fixes an VLDocking bug consisting on dockables that belong to a docking desktop have no state on it.
  
  @param dockable
  the dockable candidate.
  @return its dockable state. If none then registers the dockable again and ensures dockable state is not null.