code: public void detach()
    {   
      if(m_allowDetach)
      {
  	  	AxesWalker walker = m_firstWalker; 
  	    while (null != walker)
  	    {
  	      walker.detach();
  	      walker = walker.getNextWalker();
  	    }
  	
  	    m_lastUsedWalker = null;
  	    
  	    // Always call the superclass detach last!
  	    super.detach();
      }
    }
docs: Detaches the iterator from the set which it iterated over, releasing
  any computational resources and placing the iterator in the INVALID
  state. After<code>detach</code> has been invoked, calls to
  <code>nextNode</code> or<code>previousNode</code> will raise the
  exception INVALID_STATE_ERR.