code: @Override
      protected void updateState() {
          if (!isContainer()) {
              return;
          }
          
          boolean anyEnabled = !autoEnable || getChildCount() == 0;
          boolean anyVisible = !autoHide || isDesignMode();
          
          for (ElementUI child : getChildren(ElementUI.class)) {
              if (anyEnabled && anyVisible) {
                  break;
              }
              
              anyEnabled |= child.isEnabled();
              anyVisible |= child.isVisible();
          }
          
          setEnabled(anyEnabled);
          setVisible(anyVisible);
      }
docs: Update a UI element based on the state of its children. The default implementation acts on
  container elements only and has the following behavior:
  <ul>
  <li>If all children are disabled, the parent is also disabled (set autoEnable to false to
  turn off).</li>
  <li>If all children are hidden or there are no children and design mode is not active, the
  parent is also hidden (set autoHide to false to turn off).
  </ul>