private boolean elementClicked( Element hElem )
  {
    ArrayList<Element> chain = new ArrayList<Element>();
    collectElementChain( chain, getElement(), hElem );

    TreeItem item = findItemByChain( chain, 0, root );
    setSelectedItem( item );
    if ( item != null )
    {
      if ( item.getChildCount() > 0 && DOM.isOrHasChild( item.getElement(), hElem ) )
      {
        item.setState( !item.getState(), true );
        return true;
      }
      // else if ( DOM.isOrHasChild( item.getElement(), hElem ) )
      // {
      // // onSelection( item, true, !shouldTreeDelegateFocusToElement( hElem ) );
      // return true;
      // }
    }

    return false;
  }