@Override
    public void layoutContainer(Container target) {
      Insets insets = target.getInsets();
      int width = target.getWidth() - insets.left - insets.right;
      Component[] components = target.getComponents();
      int y = -myShift + insets.top;
      for (Component component : components) {
        if (!component.isVisible()) {
          String place = target instanceof PlaceProvider ? ((PlaceProvider)target).getPlace() : null;
          String itemText = component instanceof AbstractButton ?
                            "\"" + ((AbstractButton)component).getText() + "\"" : component.getClass().getName();
          LOG.error("Invisible menu item " + itemText + (place != null ? " in '" + place + "'" : "") +
                    " ("  + component.getClass().getName() + " in " + target.getClass().getName() + ")");
          continue;
        }
        int height = component.getPreferredSize().height;
        component.setBounds(insets.left, y, width, height);
        y += height;
      }
    }
@Override
    public void layoutContainer(Container target)