code: public void addIterator(DTMIterator expr)
    {
  
      // Increase array size by only 1 at a time.  Fix this
      // if it looks to be a problem.
      if (null == m_iterators)
      {
        m_iterators = new DTMIterator[1];
        m_iterators[0] = expr;
      }
      else
      {
        DTMIterator[] exprs = m_iterators;
        int len = m_iterators.length;
  
        m_iterators = new DTMIterator[len + 1];
  
        System.arraycopy(exprs, 0, m_iterators, 0, len);
  
        m_iterators[len] = expr;
      }
      expr.nextNode();
      if(expr instanceof Expression)
      	((Expression)expr).exprSetParent(this);
    }
docs: Add an iterator to the union list.
  
  @param expr non-null reference to a location path iterator.