code: protected void reset() {
  		location = null;
  		out = null;
  		autoDeclaredPrefixes = 0;
  		depth = 0;
  
  		// nullify references on all levels to allow it to be GCed
  		for (int i = 0; i < elNamespaceCount.length; i++) {
  			elName[i] = null;
  			elPrefix[i] = null;
  			elNamespace[i] = null;
  			elNamespaceCount[i] = 2;
  		}
  
  		namespaceEnd = 0;
  
  		// NOTE: no need to intern() as all literal strings and string-valued
  		// constant expressions
  		// are interned. String literals are defined in 3.10.5 of the Java
  		// Language Specification
  		// just checking ...
  		// assert "xmlns" == "xmlns".intern();
  		// assert XMLNS_URI == XMLNS_URI.intern();
  
  		// TODO: how to prevent from reporting this namespace?
  		// this is special namespace declared for consistensy with XML infoset
  		namespacePrefix[namespaceEnd] = "xmlns";
  		namespaceUri[namespaceEnd] = XMLNS_URI;
  		++namespaceEnd;
  
  		namespacePrefix[namespaceEnd] = "xml";
  		namespaceUri[namespaceEnd] = XML_URI;
  		++namespaceEnd;
  
  		finished = false;
  		pastRoot = false;
  		setPrefixCalled = false;
  		startTagIncomplete = false;
  		// doIntent is not changed
  		seenTag = false;
  
  		seenBracket = false;
  		seenBracketBracket = false;
  	}
docs: Reset.