Buggy code:
public class DOMNormalizer implements XMLGrammarPool { protected static final boolean DEBUG_ND = false ; protected static final boolean DEBUG = false ; protected static final String PREFIX = "NS" ; protected static final String ERROR_HANDLER = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . ERROR_HANDLER_PROPERTY ) ; protected static final String SYMBOL_TABLE = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . SYMBOL_TABLE_PROPERTY ) ; protected CoreDocumentImpl fDocument = null ; protected final DOMNormalizer . XMLAttributesProxy fAttrProxy = new DOMNormalizer . XMLAttributesProxy ( ) ; protected final QName fQName = new QName ( ) ; protected RevalidationHandler fValidationHandler ; protected SymbolTable fSymbolTable ; protected DOMErrorHandler fErrorHandler ; protected int fNamespaceCounter = 1 ; protected boolean fNamespaceValidation = false ; protected final NamespaceSupport fNamespaceBinder = new NamespaceSupport ( ) ; protected final NamespaceSupport fLocalNSBinder = new NamespaceSupport ( ) ; protected final Vector fAttributeList = new Vector ( 5 , 10 ) ; protected final DOMErrorImpl fDOMError = new DOMErrorImpl ( ) ; protected final DOMLocatorImpl fLocator = new DOMLocatorImpl ( ) ; public DOMNormalizer ( ) { } protected void reset ( XMLComponentManager componentManager ) { if ( componentManager == null ) { fSymbolTable = null ; fValidationHandler = null ; return ; } fSymbolTable = ( ( SymbolTable ) ( componentManager . getProperty ( DOMNormalizer . SYMBOL_TABLE ) ) ) ; if ( ( fSymbolTable ) == null ) { fSymbolTable = new SymbolTable ( ) ; } fNamespaceValidation = componentManager . getFeature ( SCHEMA ) ; <START_BUG> fNamespaceBinder . reset ( fSymbolTable ) ; <END_BUG> fNamespaceBinder . declarePrefix ( EMPTY_STRING , EMPTY_STRING ) ; fNamespaceCounter = 1 ; if ( ( fValidationHandler ) != null ) { ( ( XMLComponent ) ( fValidationHandler ) ) . reset ( componentManager ) ; } } protected final void setValidationHandler ( RevalidationHandler validator ) { } protected final void normalizeDocument ( CoreDocumentImpl document ) { } protected final Node normalizeNode ( Node node ) { } protected final void expandEntityRef ( Node node , Node parent , Node reference ) { } protected final void namespaceFixUp ( ElementImpl element , AttributeMap attributes ) { } protected final void addNamespaceDecl ( String prefix , String uri , ElementImpl element ) { } protected final boolean removeDefault ( Attr attribute , AttributeMap attrMap ) { } protected final DOMError modifyDOMError ( String message , short severity , Node node ) { } protected final void updateQName ( Node node , QName qname ) { } protected final class XMLAttributesProxy implements XMLAttributes { protected AttributeMap fAttributes ; protected CoreDocumentImpl fDocument ; protected ElementImpl fElement ; protected final Vector fAugmentations = new Vector ( 5 ) ; public void setAttributes ( AttributeMap attributes , CoreDocumentImpl doc , ElementImpl elem ) { } public int addAttribute ( QName attrQName , String attrType , String attrValue ) { } public void removeAllAttributes ( ) { } public void removeAttributeAt ( int attrIndex ) { } public int getLength ( ) { } public int getIndex ( String qName ) { } public int getIndex ( String uri , String localPart ) { } public void setName ( int attrIndex , QName attrName ) { } public void getName ( int attrIndex , QName attrName ) { } public String getPrefix ( int index ) { } public String getURI ( int index ) { } public String getLocalName ( int index ) { } public String getQName ( int index ) { } public void setType ( int attrIndex , String attrType ) { } public String getType ( int index ) { } public String getType ( String qName ) { } public String getType ( String uri , String localName ) { } public void setValue ( int attrIndex , String attrValue ) { } public String getValue ( int index ) { } public String getValue ( String qName ) { } public String getValue ( String uri , String localName ) { } public void setNonNormalizedValue ( int attrIndex , String attrValue ) { } public String getNonNormalizedValue ( int attrIndex ) { } public void setSpecified ( int attrIndex , boolean specified ) { } public boolean isSpecified ( int attrIndex ) { } public Augmentations getAugmentations ( int attributeIndex ) { } public Augmentations getAugmentations ( String uri , String localPart ) { } public Augmentations getAugmentations ( String qName ) { } } protected final Grammar [ ] fGrammarPool = new Grammar [ 1 ] ; public Grammar [ ] retrieveInitialGrammarSet ( String grammarType ) { } public void cacheGrammars ( String grammarType , Grammar [ ] grammars ) { } public Grammar retrieveGrammar ( XMLGrammarDescription desc ) { } public void lockPool ( ) { } public void unlockPool ( ) { } public void clear ( ) { } }

Fix:
fNamespaceBinder . reset ( ) ;