public CellTransform.Restore detach() {
      if (getComponentCount() == 1) {
        myComponent = (JComponent)getComponent(0);
        removeAll();
      }

      if (getParent() instanceof JComponent) {
        getParent().revalidate();
        getParent().repaint();
      }

      return new CellTransform.Restore() {
        @Override
        public ActionCallback restoreInGrid() {
          if (myComponent != null) {
            setContent(myComponent);
            myComponent = null;
          }
          return ActionCallback.DONE;
        }
      };
    }
public CellTransform.Restore detach()