@Override
  public void setUI(TreeUI ui) {
    // We have to repeat what JTree does here, because uiTreeExpansionListener is private in JTree.
    if (this.ui != ui) {
      settingUI = true;
      uiTreeExpansionListener = null;
      try {
        super.setUI(ui);
      }
      finally {
        settingUI = false;
      }
    }
  }
@Override
  public void setUI(TreeUI ui)