code: public void addChild(int offset, TreeElement child)
              throws IllegalArgumentException
      {
          child.setSelected(false);
          child.setParent(this);
          if (_children == null)
              _children = new ArrayList();
          _children.add(offset, child);
  
          //Need to rename all affected!
          int size = _children.size();
          for (int i = offset; i < size; i++) {
              TreeElement thisChild = (TreeElement) _children.get(i);
              thisChild.updateName(this, i);
          }
  
      }
docs: Add a new child node at the specified position in the child list.
  @param offset Zero-relative offset at which the new node
  should be inserted
  @param child  The new child node
  @throws IllegalArgumentException if the name of the new child
  node is not unique