Buggy code:
public class FilterSet extends DataType implements Cloneable { public static class Filter { String token ; String value ; public Filter ( String token , String value ) { } public Filter ( ) { } public void setToken ( String token ) { } public void setValue ( String value ) { } public String getToken ( ) { } public String getValue ( ) { } } public class FiltersFile { public FiltersFile ( ) { } public void setFile ( File file ) { } } public static class OnMissing extends EnumeratedAttribute { private static final String [ ] VALUES = new String [ ] { "fail" , "warn" , "ignore" } ; public static final FilterSet . OnMissing FAIL = new FilterSet . OnMissing ( "fail" ) ; public static final FilterSet . OnMissing WARN = new FilterSet . OnMissing ( "warn" ) ; public static final FilterSet . OnMissing IGNORE = new FilterSet . OnMissing ( "ignore" ) ; private static final int FAIL_INDEX = 0 ; private static final int WARN_INDEX = 1 ; private static final int IGNORE_INDEX = 2 ; public OnMissing ( ) { } public OnMissing ( String value ) { } public String [ ] getValues ( ) { } } public static final String DEFAULT_TOKEN_START = "@" ; public static final String DEFAULT_TOKEN_END = "@" ; private String startOfToken = FilterSet . DEFAULT_TOKEN_START ; private String endOfToken = FilterSet . DEFAULT_TOKEN_END ; private Vector passedTokens ; private boolean duplicateToken = false ; private boolean recurse = true ; private Hashtable filterHash = null ; private Vector filtersFiles = new Vector ( ) ; private FilterSet . OnMissing onMissingFiltersFile = FilterSet . OnMissing . FAIL ; private boolean readingFiles = false ; private int recurseDepth = 0 ; private Vector filters = new Vector ( ) ; public FilterSet ( ) { } protected FilterSet ( FilterSet filterset ) { } protected synchronized Vector getFilters ( ) { } protected FilterSet getRef ( ) { } public synchronized Hashtable getFilterHash ( ) { } public void setFiltersfile ( File filtersFile ) throws BuildException { } public void setBeginToken ( String startOfToken ) { } public String getBeginToken ( ) { } public void setEndToken ( String endOfToken ) { } public String getEndToken ( ) { } public void setRecurse ( boolean recurse ) { } public boolean isRecurse ( ) { } public synchronized void readFiltersFromFile ( File filtersFile ) throws BuildException { if ( isReference ( ) ) { throw tooManyAttributes ( ) ; } if ( ! ( filtersFile . exists ( ) ) ) { handleMissingFile ( ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>read<seq2seq4repair_space>filters<seq2seq4repair_space>from<seq2seq4repair_space>file<seq2seq4repair_space>" + filtersFile ) + "<seq2seq4repair_space>as<seq2seq4repair_space>it<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist." ) ) ; } if ( filtersFile . isFile ( ) ) { log ( ( "Reading<seq2seq4repair_space>filters<seq2seq4repair_space>from<seq2seq4repair_space>" + filtersFile ) , MSG_VERBOSE ) ; FileInputStream in = null ; try { Properties props = new Properties ( ) ; in = new FileInputStream ( filtersFile ) ; props . load ( in ) ; Enumeration e = props . propertyNames ( ) ; Vector filts = getFilters ( ) ; while ( e . hasMoreElements ( ) ) { String strPropName = ( ( String ) ( e . nextElement ( ) ) ) ; String strValue = props . getProperty ( strPropName ) ; filts . addElement ( new FilterSet . Filter ( strPropName , strValue ) ) ; } } catch ( Exception ex ) { <START_BUG> throw new BuildException ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>read<seq2seq4repair_space>filters<seq2seq4repair_space>from<seq2seq4repair_space>file:<seq2seq4repair_space>" + filtersFile ) ) ; <END_BUG> } finally { FileUtils . close ( in ) ; } } else { handleMissingFile ( ( ( "Must<seq2seq4repair_space>specify<seq2seq4repair_space>a<seq2seq4repair_space>file<seq2seq4repair_space>rather<seq2seq4repair_space>than<seq2seq4repair_space>a<seq2seq4repair_space>directory<seq2seq4repair_space>in<seq2seq4repair_space>" + "the<seq2seq4repair_space>filtersfile<seq2seq4repair_space>attribute:" ) + filtersFile ) ) ; } filterHash = null ; } public synchronized String replaceTokens ( String line ) { } public synchronized void addFilter ( FilterSet . Filter filter ) { } public FilterSet . FiltersFile createFiltersfile ( ) { } public synchronized void addFilter ( String token , String value ) { } public synchronized void addConfiguredFilterSet ( FilterSet filterSet ) { } public synchronized boolean hasFilters ( ) { } public synchronized Object clone ( ) throws BuildException { } public void setOnMissingFiltersFile ( FilterSet . OnMissing onMissingFiltersFile ) { } public FilterSet . OnMissing getOnMissingFiltersFile ( ) { } private synchronized String iReplaceTokens ( String line ) { } private synchronized String replaceTokens ( String line , String parent ) throws BuildException { } private void handleMissingFile ( String message ) { } }

Fix:
throw new BuildException ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>read<seq2seq4repair_space>filters<seq2seq4repair_space>from<seq2seq4repair_space>file:<seq2seq4repair_space>" + filtersFile ) , ex ) ;