Buggy code:
public class DataConfig { public List < DataConfig . Document > documents ; public List < DataConfig . Props > properties ; private Map < String , DataConfig . Document > documentCache ; public Map < String , Evaluator > evaluators = new HashMap < String , Evaluator > ( ) ; public DataConfig . Script script ; public Map < String , Properties > dataSources = new HashMap < String , Properties > ( ) ; public DataConfig . Document getDocumentByName ( String name ) { } public static class Document { public String name ; public String deleteQuery ; public List < DataConfig . Entity > entities = new ArrayList < DataConfig . Entity > ( ) ; public List < DataConfig . Field > fields ; public Document ( ) { } public Document ( Element element ) { } } public static class Props { public String name ; public String file ; } public static class Entity { public String name ; public String pk ; public String dataSource ; public Map < String , String > allAttributes ; public String proc ; public String docRoot ; public boolean isDocRoot = false ; public List < DataConfig . Field > fields ; public List < Map < String , String > > allFieldsList = new ArrayList < Map < String , String > > ( ) ; public List < DataConfig . Entity > entities ; public String [ ] primaryKeys ; public DataConfig . Entity parentEntity ; public EntityProcessor processor ; @ SuppressWarnings ( "unchecked" ) public DataSource dataSrc ; public DataConfig . Script script ; public List < DataConfig . Field > implicitFields ; public Entity ( ) { } public Entity ( Element element ) { } public void clearCache ( ) { } } public static class Script { public String language ; public String script ; public Script ( ) { } public Script ( Element e ) { } } public static class Field { public String column ; public String name ; public Float boost = 1.0F ; public boolean toWrite = true ; public boolean multiValued = false ; public String nameOrColName ; public Map < String , String > allAttributes = new HashMap < String , String > ( ) { public String put ( String key , String value ) { } } ; public Field ( ) { } public Field ( Element e ) { } public Field ( String name , boolean b ) { } public String getName ( ) { } public DataConfig . Entity entity ; } public void readFromXml ( Element e ) { List < Element > n = DataConfig . getChildNodes ( e , "document" ) ; if ( ! ( n . isEmpty ( ) ) ) documents = new ArrayList < DataConfig . Document > ( ) ; for ( Element element : n ) documents . add ( new DataConfig . Document ( element ) ) ; n = DataConfig . getChildNodes ( e , DataConfig . SCRIPT ) ; if ( ! ( n . isEmpty ( ) ) ) { script = new DataConfig . Script ( n . get ( 0 ) ) ; } evaluators . put ( DATE_FORMAT_EVALUATOR , EvaluatorBag . getDateFormatEvaluator ( ) ) ; evaluators . put ( SQL_ESCAPE_EVALUATOR , EvaluatorBag . getSqlEscapingEvaluator ( ) ) ; evaluators . put ( URL_ENCODE_EVALUATOR , EvaluatorBag . getUrlEvaluator ( ) ) ; n = DataConfig . getChildNodes ( e , DataConfig . FUNCTION ) ; if ( ! ( n . isEmpty ( ) ) ) { for ( Element element : n ) { String func = DataConfig . getStringAttribute ( element , DataConfig . NAME , null ) ; String clz = DataConfig . getStringAttribute ( element , DataConfig . CLASS , null ) ; if ( ( func == null ) || ( clz == null ) ) throw new DataImportHandlerException ( DataImportHandlerException . SEVERE , "<function><seq2seq4repair_space>must<seq2seq4repair_space>have<seq2seq4repair_space>a<seq2seq4repair_space>'name'<seq2seq4repair_space>and<seq2seq4repair_space>'class'<seq2seq4repair_space>attributes" ) ; try { <START_BUG> evaluators . put ( func , ( ( Evaluator ) ( DocBuilder . loadClass ( clz ) . newInstance ( ) ) ) ) ; <END_BUG> } catch ( Exception exp ) { throw new DataImportHandlerException ( DataImportHandlerException . SEVERE , ( "Unable<seq2seq4repair_space>to<seq2seq4repair_space>instantiate<seq2seq4repair_space>evaluator:<seq2seq4repair_space>" + clz ) , exp ) ; } } } n = DataConfig . getChildNodes ( e , DataConfig . DATA_SRC ) ; if ( ! ( n . isEmpty ( ) ) ) { for ( Element element : n ) { Properties p = new Properties ( ) ; HashMap < String , String > attrs = DataConfig . getAllAttributes ( element ) ; for ( Map . Entry < String , String > entry : attrs . entrySet ( ) ) { p . setProperty ( entry . getKey ( ) , entry . getValue ( ) ) ; } dataSources . put ( p . getProperty ( "name" ) , p ) ; } } } private static String getStringAttribute ( Element e , String name , String def ) { } private static HashMap < String , String > getAllAttributes ( Element e ) { } public static String getTxt ( Node elem , StringBuffer buffer ) { } public static List < Element > getChildNodes ( Element e , String byName ) { } public void clearCaches ( ) { } public static final String SCRIPT = "script" ; public static final String NAME = "name" ; public static final String SCRIPT_LANG = "scriptlanguage" ; public static final String SCRIPT_NAME = "scriptname" ; public static final String PROCESSOR = "processor" ; public static final String IMPORTER_NS = "dataimporter" ; public static final String ROOT_ENTITY = "rootEntity" ; public static final String FUNCTION = "function" ; public static final String CLASS = "class" ; public static final String DATA_SRC = "dataSource" ; }

Fix:
evaluators . put ( func , ( ( Evaluator ) ( DocBuilder . loadClass ( clz , null ) . newInstance ( ) ) ) ) ;