<!DOCTYPE class>
<class name='Parent' extends='Child'>
   A parent has children, and has methods for accessing them.  The Parent class is never encountered except as the superclass for some other object.
  <include name='Enumerable'>
    
  </include>
  <method name='initialize'>
    <argument default='nil' name='parent'>
      if supplied, will be set as the parent of this object
    </argument>
     Constructor 
  </method>
  <method name='add'>
    <argument name='object'/>
  </method>
  <alias alias='push' orig='add'>
    
  </alias>
  <alias alias='&lt;&lt;' orig='push'>
    
  </alias>
  <method name='unshift'>
    <argument name='object'/>
  </method>
  <method name='delete'>
    <argument name='object'/>
  </method>
  <method name='each'>
    <argument name='block'/>
  </method>
  <method name='delete_if'>
    <argument name='object'/>
    <argument name='block'/>
  </method>
  <method name='delete_at'>
    <argument name='index'/>
  </method>
  <method name='each_index'>
    <argument name='block'/>
  </method>
  <method name='[]'>
    <argument name='index'>
      the Integer index of the child to fetch
    </argument>
     Fetches a child at a given index 
  </method>
  <alias alias='each_child' orig='each'>
    
  </alias>
  <method name='[]='>
    <argument name='args'/>
    <return>
      the parent (self)
    </return>
     Set an index entry.  See Array.[]= @return the parent (self)
  </method>
  <method name='insert_before'>
    <argument name='child1'>
      the child to insert before 
    </argument>
    <argument name='child2'>
      the child to insert 
    </argument>
    <return>
      the parent (self)
    </return>
     Inserts an child before another child @return the parent (self)
  </method>
  <method name='insert_after'>
    <argument name='child1'>
      the child to insert after 
    </argument>
    <argument name='child2'>
      the child to insert 
    </argument>
    <return>
      the parent (self)
    </return>
     Inserts an child after another child @return the parent (self)
  </method>
  <method name='dup_children'/>
  <method name='index'>
    <argument name='child'>
      the child to get the index of 
    </argument>
    <return>
      the index of the child, or nil if the object is not a child of this parent.
    </return>
     Fetches the index of a given child 
  </method>
  <method name='size'>
    <return>
      the number of children of this parent
    </return>
     
  </method>
  <method name='replace_child'>
    <argument name='to_replace'>
      the child to replace (must be a Child) 
    </argument>
    <argument name='replacement'>
      the child to insert into the nodelist (must be a  Child)
    </argument>
     Replaces one child with another, making sure the nodelist is correct 
  </method>
</class>