Buggy code:
public class DOMASBuilderImpl extends DOMBuilderImpl implements DOMASBuilder { protected static final String SCHEMA_FULL_CHECKING = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . SCHEMA_FULL_CHECKING ) ; protected static final String ERROR_REPORTER = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . ERROR_REPORTER_PROPERTY ) ; protected static final String SYMBOL_TABLE = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . SYMBOL_TABLE_PROPERTY ) ; protected static final String ENTITY_MANAGER = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . ENTITY_MANAGER_PROPERTY ) ; protected XSGrammarBucket fGrammarBucket ; protected SubstitutionGroupHandler fSubGroupHandler ; protected CMBuilder fCMBuilder ; protected XSDHandler fSchemaHandler ; protected XMLErrorReporter fErrorReporter ; protected XMLEntityResolver fEntityResolver ; protected SymbolTable fSymbolTable ; protected XMLGrammarPool fGrammarPool = null ; protected ASModelImpl fAbstractSchema ; public DOMASBuilderImpl ( ) { } public DOMASBuilderImpl ( XMLParserConfiguration config ) { } public DOMASBuilderImpl ( SymbolTable symbolTable ) { } public DOMASBuilderImpl ( SymbolTable symbolTable , XMLGrammarPool grammarPool ) { } public ASModel getAbstractSchema ( ) { } public void setAbstractSchema ( ASModel abstractSchema ) { } String XMLNS ; String URI_XSI ; String XSI_SCHEMALOCATION ; String XSI_NONAMESPACESCHEMALOCATION ; String XSI_TYPE ; String XSI_NIL ; String URI_SCHEMAFORSCHEMA ; public ASModel parseASURI ( String uri ) throws Exception , DOMASException { } public ASModel parseASInputSource ( DOMInputSource is ) throws Exception , DOMASException { } ASModel parseASInputSource ( XMLInputSource is ) throws Exception { if ( ( fSchemaHandler ) == null ) { fGrammarBucket = new XSGrammarBucket ( ) ; fSubGroupHandler = new SubstitutionGroupHandler ( fGrammarBucket ) ; fSchemaHandler = new XSDHandler ( fGrammarBucket ) ; fCMBuilder = new CMBuilder ( new XSDeclarationPool ( ) ) ; } fErrorReporter = ( ( XMLErrorReporter ) ( fConfiguration . getProperty ( DOMASBuilderImpl . ERROR_REPORTER ) ) ) ; <START_BUG> fEntityResolver = ( ( XMLEntityResolver ) ( fConfiguration . getProperty ( ENTITY_RESOLVER ) ) ) ; <END_BUG> fSymbolTable = ( ( SymbolTable ) ( fConfiguration . getProperty ( DOMASBuilderImpl . SYMBOL_TABLE ) ) ) ; String externalSchemas = ( ( String ) ( fConfiguration . getProperty ( ( ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . SCHEMA_LOCATION ) ) ) ) ) ; String noNamespaceExternalSchemas = ( ( String ) ( fConfiguration . getProperty ( ( ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . SCHEMA_NONS_LOCATION ) ) ) ) ) ; XMLNS = fSymbolTable . addSymbol ( O_XMLNS ) ; URI_XSI = fSymbolTable . addSymbol ( SchemaSymbols . URI_XSI ) ; XSI_SCHEMALOCATION = fSymbolTable . addSymbol ( OXSI_SCHEMALOCATION ) ; XSI_NONAMESPACESCHEMALOCATION = fSymbolTable . addSymbol ( OXSI_NONAMESPACESCHEMALOCATION ) ; XSI_TYPE = fSymbolTable . addSymbol ( OXSI_TYPE ) ; XSI_NIL = fSymbolTable . addSymbol ( OXSI_NIL ) ; URI_SCHEMAFORSCHEMA = fSymbolTable . addSymbol ( OURI_SCHEMAFORSCHEMA ) ; initGrammarBucket ( ) ; fSubGroupHandler . reset ( ) ; fSchemaHandler . reset ( fErrorReporter , fEntityResolver , fSymbolTable , externalSchemas , noNamespaceExternalSchemas ) ; SchemaGrammar grammar = fSchemaHandler . parseSchema ( null , is , CONTEXT_PREPARSE ) ; if ( getFeature ( DOMASBuilderImpl . SCHEMA_FULL_CHECKING ) ) { XSConstraints . fullSchemaChecking ( fGrammarBucket , fSubGroupHandler , fCMBuilder , fErrorReporter ) ; } ASModelImpl newAsModel = new ASModelImpl ( ) ; addGrammars ( newAsModel , fGrammarBucket ) ; return newAsModel ; } private void initGrammarBucket ( ) { } private void initGrammarBucketRecurse ( ASModelImpl currModel ) { } private void addGrammars ( ASModelImpl model , XSGrammarBucket grammarBucket ) { } private void initGrammarPool ( ASModelImpl currModel ) { } }

Fix:
fEntityResolver = ( ( XMLEntityResolver ) ( fConfiguration . getProperty ( DOMASBuilderImpl . ENTITY_MANAGER ) ) ) ;