code: public void allowDetachToRelease(boolean allowRelease)
    {
    	if((false == allowRelease) && !hasCache())
    	{
    		setShouldCacheNodes(true);
    	}
    	
    	if(null != m_iter)
    		m_iter.allowDetachToRelease(allowRelease);
    	super.allowDetachToRelease(allowRelease);
    }
docs: Calling this with a value of false will cause the nodeset
  to be cached.
  @see DTMIterator#allowDetachToRelease(boolean)