code: public void detach()
    {
            if(m_allowDetach && null != m_iterators){         
                    int n = m_iterators.length;
                    for(int i = 0; i < n; i++)
                    {
                            m_iterators[i].detach();
                    }
                    m_iterators = null;                                
            }
    }
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.