Buggy code:
public class DOMParserImpl extends AbstractDOMParser implements DOMConfiguration , LSParser { protected static final String NAMESPACES = ( Constants . SAX_FEATURE_PREFIX ) + ( Constants . NAMESPACES_FEATURE ) ; protected static final String VALIDATION_FEATURE = ( Constants . SAX_FEATURE_PREFIX ) + ( Constants . VALIDATION_FEATURE ) ; protected static final String XMLSCHEMA = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . SCHEMA_VALIDATION_FEATURE ) ; protected static final String DYNAMIC_VALIDATION = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . DYNAMIC_VALIDATION_FEATURE ) ; protected static final String NORMALIZE_DATA = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . SCHEMA_NORMALIZED_VALUE ) ; protected static final String DISALLOW_DOCTYPE_DECL_FEATURE = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . DISALLOW_DOCTYPE_DECL_FEATURE ) ; protected static final String SYMBOL_TABLE = ( Constants . XERCES_PROPERTY_PREFIX ) + ( Constants . SYMBOL_TABLE_PROPERTY ) ; protected static final String PSVI_AUGMENT = ( Constants . XERCES_FEATURE_PREFIX ) + ( Constants . SCHEMA_AUGMENT_PSVI ) ; protected String fSchemaType = null ; protected boolean fBusy = false ; protected static final boolean DEBUG = false ; private Vector fSchemaLocations = new Vector ( ) ; private String fSchemaLocation = null ; private DOMStringList fRecognizedParameters ; public DOMParserImpl ( String configuration , String schemaType ) { } public DOMParserImpl ( XMLParserConfiguration config ) { } public DOMParserImpl ( SymbolTable symbolTable ) { } public DOMParserImpl ( SymbolTable symbolTable , XMLGrammarPool grammarPool ) { } public void reset ( ) { } public DOMConfiguration getDomConfig ( ) { } public LSParserFilter getFilter ( ) { } public void setFilter ( LSParserFilter filter ) { } public void setParameter ( String name , Object value ) throws DOMException { } public Object getParameter ( String name ) throws DOMException { } public boolean canSetParameter ( String name , Object value ) { } public DOMStringList getParameterNames ( ) { } public Document parseURI ( String uri ) throws LSException { } public Document parse ( LSInput is ) throws LSException { } public Node parseWithContext ( LSInput is , Node cnode , short action ) throws DOMException , LSException { } XMLInputSource dom2xmlInputSource ( LSInput is ) { XMLInputSource xis = null ; if ( ( is . getCharacterStream ( ) ) != null ) { xis = new XMLInputSource ( is . getPublicId ( ) , is . getSystemId ( ) , is . getBaseURI ( ) , is . getCharacterStream ( ) , "UTF-16" ) ; } else if ( ( is . getByteStream ( ) ) != null ) { xis = new XMLInputSource ( is . getPublicId ( ) , is . getSystemId ( ) , is . getBaseURI ( ) , is . getByteStream ( ) , is . getEncoding ( ) ) ; } else if ( ( ( is . getStringData ( ) ) != null ) && ( ( is . getStringData ( ) . length ( ) ) > 0 ) ) { xis = new XMLInputSource ( is . getPublicId ( ) , is . getSystemId ( ) , is . getBaseURI ( ) , new StringReader ( is . getStringData ( ) ) , "UTF-16" ) ; } else if ( ( ( ( is . getSystemId ( ) ) != null ) && ( ( is . getSystemId ( ) . length ( ) ) > 0 ) ) || ( ( ( is . getPublicId ( ) ) != null ) && ( ( is . getPublicId ( ) . length ( ) ) > 0 ) ) ) { xis = new XMLInputSource ( is . getPublicId ( ) , is . getSystemId ( ) , is . getBaseURI ( ) ) ; } else { if ( ( fErrorHandler ) != null ) { DOMErrorImpl error = new DOMErrorImpl ( ) ; error . fType = "no-input-specified" ; error . fMessage = "no-input-specified" ; error . fSeverity = DOMError . SEVERITY_FATAL_ERROR ; <START_BUG> fErrorHandler . handleError ( error ) ; <END_BUG> } throw new LSException ( LSException . PARSE_ERR , "no-input-specified" ) ; } return xis ; } public boolean getAsync ( ) { } public boolean getBusy ( ) { } public void abort ( ) { } }

Fix:
fErrorHandler . getErrorHandler ( ) . handleError ( error ) ;