public DTMAxisIterator cloneIterator(){
  _isRestartable=false;
  try {
    final PrecedingIterator clone=(PrecedingIterator)super.clone();
    final int[] stackCopy=new int[_stack.length];
    System.arraycopy(_stack,0,stackCopy,0,_stack.length);
    clone._stack=stackCopy;
    return clone;
  }
 catch (  CloneNotSupportedException e) {
    throw new DTMException(XMLMessages.createXMLMessage(XMLErrorResources.ER_ITERATOR_CLONE_NOT_SUPPORTED,null));
  }
}

public DTMAxisIterator cloneIterator ( ) { _isRestartable = false ; try { final PrecedingIterator clone = ( PrecedingIterator ) super . clone ( ) ; final int [ ] stackCopy = new int [ _stack . length ] ; System . arraycopy ( _stack , 0 , stackCopy , 0 , _stack . length ) ; clone . _stack = stackCopy ; return clone ; } catch ( CloneNotSupportedException e ) { throw new DTMException ( XMLMessages . createXMLMessage ( XMLErrorResources . ER_ITERATOR_CLONE_NOT_SUPPORTED , null ) ) ; } }
returns a deep copy of this iterator . the cloned iterator is not reset .
