code: @Override
  	public void addChildAt(final int index, final ITreeNode<T> child)
  		throws IndexOutOfBoundsException
  	{
  		if (children != null && children.size() < index)
  		{
  			children.add(index, child);
  		}
  		else
  		{
  			addChild(child);
  		}
  	}
docs: Adds the child.
  
  @param index
  the index
  @param child
  the child
  @throws IndexOutOfBoundsException
  the index out of bounds exception