code: public Row addLastChild()
  	{
  		assert (this.treeTable.m_nbColumns > 0) : "Table should have at least one column before adding items";
  
  		Row newItem = new Row( this.treeTable );
  		newItem.m_tr = DOM.createTR();
  		newItem.m_tr.setPropertyObject( "linkedItem", newItem );
  
  		newItem.m_tr.setInnerHTML( this.treeTable.m_rowTemplate );
  
  		// DOM add
  		Row lastParentLeaf = getLastLeaf();
  		Element trToInsertAfter = lastParentLeaf.m_tr;
  		if( trToInsertAfter != null )
  		{
  			int after = DOM.getChildIndex( this.treeTable.m_body, trToInsertAfter );
  			int before = after + 1;
  			DOM.insertChild( this.treeTable.m_body, newItem.m_tr, before );
  		}
  		else
  		{
  			DOM.appendChild( this.treeTable.m_body, newItem.m_tr );
  		}
  
  		// logical add
  		newItem.m_parent = this;
  		getChilds().add( newItem );
  		signalStateChange();
  
  		// take care of the left padding
  		Element firstTd = DOM.getChild( newItem.m_tr, 0 );
  		firstTd.getStyle().setPaddingLeft( newItem.getLevel() * this.treeTable.treePadding, Unit.PX );
  
  		return newItem;
  	}
docs: adds an item at the end of the children of the parent