public void setState( boolean open, boolean fireEvents )
  {

    this.open = open;
    if ( hasChildren() )
      for ( TreeItem item : children )
      {
        item.setVisible( open );
        if ( showPictures )
        {
          if ( this.open )
          {
            getElement().addClassName( NavigationTreeResources.INSTANCE.css().treeItemOpen() );
            getElement().removeClassName( NavigationTreeResources.INSTANCE.css().treeItemClosed() );
          }
          else
            getElement().addClassName( NavigationTreeResources.INSTANCE.css().treeItemClosed() );
        }
      }
  }