Buggy code:
public class SQLExec extends Task { private int goodSql = 0 ; private int totalSql = 0 ; private ArrayList filesets = new ArrayList ( ) ; private Connection conn ; private boolean autocommit ; private Statement statement ; private String driver ; private String url ; private String userId ; private String password ; private File srcFile ; private String sqlCommand = "" ; private ArrayList transactions = new ArrayList ( ) ; private String delimiter = ";" ; private String delimiterType = SQLExec . DelimiterType . NORMAL ; private boolean print ; private boolean showheaders = true ; private File output ; private String rdbms ; private String version ; private String onError = "abort" ; private String encoding ; private Path classpath ; public void setAutocommit ( boolean autocommit ) { } public void setClasspath ( Path classpath ) throws TaskException { } public void setDelimiter ( String delimiter ) { } public void setDelimiterType ( SQLExec . DelimiterType delimiterType ) { } public void setDriver ( String driver ) { } public void setEncoding ( String encoding ) { } public void setOnerror ( SQLExec . OnError action ) { } public void setOutput ( File output ) { } public void setPassword ( String password ) { } public void setPrint ( boolean print ) { } public void setRdbms ( String vendor ) { } public void setShowheaders ( boolean showheaders ) { } public void setSrc ( File srcFile ) { } public void setUrl ( String url ) { } public void setUserid ( String userId ) { } public void setVersion ( String version ) { } public void addFileset ( FileSet set ) { } public void addContent ( String sql ) { } public Path createClasspath ( ) throws TaskException { } public SQLExec . Transaction createTransaction ( ) { } public void execute ( ) throws TaskException { } protected boolean isValidRdbms ( Connection conn ) { } protected void execSQL ( String sql , PrintStream out ) throws SQLException { } protected void printResults ( PrintStream out ) throws SQLException { } protected void runStatements ( Reader reader , PrintStream out ) throws IOException , SQLException , TaskException { String sql = "" ; String line = "" ; BufferedReader in = new BufferedReader ( reader ) ; try { while ( ( line = in . readLine ( ) ) != null ) { line = line . trim ( ) ; <START_BUG> line = getProject ( ) . replaceProperties ( line ) ; <END_BUG> if ( line . startsWith ( "////" ) ) continue ; if ( line . startsWith ( "--" ) ) continue ; StringTokenizer st = new StringTokenizer ( line ) ; if ( st . hasMoreTokens ( ) ) { String token = st . nextToken ( ) ; if ( "REM" . equalsIgnoreCase ( token ) ) { continue ; } } sql += "<seq2seq4repair_space>" + line ; sql = sql . trim ( ) ; if ( ( line . indexOf ( "--" ) ) >= 0 ) sql += "\n" ; if ( ( ( delimiterType . equals ( SQLExec . DelimiterType . NORMAL ) ) && ( sql . endsWith ( delimiter ) ) ) || ( ( delimiterType . equals ( SQLExec . DelimiterType . ROW ) ) && ( line . equals ( delimiter ) ) ) ) { getLogger ( ) . debug ( ( "SQL:<seq2seq4repair_space>" + sql ) ) ; execSQL ( sql . substring ( 0 , ( ( sql . length ( ) ) - ( delimiter . length ( ) ) ) ) , out ) ; sql = "" ; } } if ( ! ( sql . equals ( "" ) ) ) { execSQL ( sql , out ) ; } } catch ( SQLException e ) { throw e ; } } public static class DelimiterType extends EnumeratedAttribute { public static final String NORMAL = "normal" ; public static final String ROW = "row" ; public String [ ] getValues ( ) { } } public static class OnError extends EnumeratedAttribute { public String [ ] getValues ( ) { } } public class Transaction { private File tSrcFile = null ; private String tSqlCommand = "" ; public void setSrc ( File src ) { } public void addContent ( String sql ) { } private void runTransaction ( PrintStream out ) throws IOException , SQLException , TaskException { } } }

Fix:
line = "" + ( resolveValue ( line ) ) ;