Buggy code:
public void execute ( ) throws BuildException { checkAttributes ( ) ; FTPClient ftp = null ; try { log ( ( "Opening<seq2seq4repair_space>FTP<seq2seq4repair_space>connection<seq2seq4repair_space>to<seq2seq4repair_space>" + ( server ) ) , MSG_VERBOSE ) ; ftp = new FTPClient ( ) ; if ( this . isConfigurationSet ) { ftp = FTPConfigurator . configure ( ftp , this ) ; } ftp . connect ( server , port ) ; if ( ! ( FTPReply . isPositiveCompletion ( ftp . getReplyCode ( ) ) ) ) { throw new BuildException ( ( "FTP<seq2seq4repair_space>connection<seq2seq4repair_space>failed:<seq2seq4repair_space>" + ( ftp . getReplyString ( ) ) ) ) ; } log ( "connected" , MSG_VERBOSE ) ; log ( "logging<seq2seq4repair_space>in<seq2seq4repair_space>to<seq2seq4repair_space>FTP<seq2seq4repair_space>server" , MSG_VERBOSE ) ; if ( ! ( ftp . login ( userid , password ) ) ) { throw new BuildException ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>login<seq2seq4repair_space>to<seq2seq4repair_space>FTP<seq2seq4repair_space>server" ) ; } log ( "login<seq2seq4repair_space>succeeded" , MSG_VERBOSE ) ; if ( binary ) { ftp . setFileType ( IMAGE_FILE_TYPE ) ; if ( ! ( FTPReply . isPositiveCompletion ( ftp . getReplyCode ( ) ) ) ) { throw new BuildException ( ( "could<seq2seq4repair_space>not<seq2seq4repair_space>set<seq2seq4repair_space>transfer<seq2seq4repair_space>type:<seq2seq4repair_space>" + ( ftp . getReplyString ( ) ) ) ) ; } } else { ftp . setFileType ( ASCII_FILE_TYPE ) ; if ( ! ( FTPReply . isPositiveCompletion ( ftp . getReplyCode ( ) ) ) ) { throw new BuildException ( ( "could<seq2seq4repair_space>not<seq2seq4repair_space>set<seq2seq4repair_space>transfer<seq2seq4repair_space>type:<seq2seq4repair_space>" + ( ftp . getReplyString ( ) ) ) ) ; } } if ( passive ) { log ( "entering<seq2seq4repair_space>passive<seq2seq4repair_space>mode" , MSG_VERBOSE ) ; ftp . enterLocalPassiveMode ( ) ; if ( ! ( FTPReply . isPositiveCompletion ( ftp . getReplyCode ( ) ) ) ) { throw new BuildException ( ( ( "could<seq2seq4repair_space>not<seq2seq4repair_space>enter<seq2seq4repair_space>into<seq2seq4repair_space>passive<seq2seq4repair_space>" + "mode:<seq2seq4repair_space>" ) + ( ftp . getReplyString ( ) ) ) ) ; } } if ( ( this . initialSiteCommand ) != null ) { RetryHandler h = new RetryHandler ( this . retriesAllowed , this ) ; final FTPClient lftp = ftp ; executeRetryable ( h , new Retryable ( ) { public void execute ( ) throws IOException { doSiteCommand ( lftp , FTP . this . initialSiteCommand ) ; } } , ( "initial<seq2seq4repair_space>site<seq2seq4repair_space>command:<seq2seq4repair_space>" + ( this . initialSiteCommand ) ) ) ; } if ( ( umask ) != null ) { RetryHandler h = new RetryHandler ( this . retriesAllowed , this ) ; final FTPClient lftp = ftp ; executeRetryable ( h , new Retryable ( ) { public void execute ( ) throws IOException { doSiteCommand ( lftp , ( "umask<seq2seq4repair_space>" + ( umask ) ) ) ; } } , ( "umask<seq2seq4repair_space>" + ( umask ) ) ) ; } if ( ( action ) == ( FTP . MK_DIR ) ) { RetryHandler h = new RetryHandler ( this . retriesAllowed , this ) ; final FTPClient lftp = ftp ; executeRetryable ( h , new Retryable ( ) { public void execute ( ) throws IOException { makeRemoteDir ( lftp , remotedir ) ; } } , remotedir ) ; } else if ( ( action ) == ( FTP . SITE_CMD ) ) { RetryHandler h = new RetryHandler ( this . retriesAllowed , this ) ; final FTPClient lftp = ftp ; executeRetryable ( h , new Retryable ( ) { public void execute ( ) throws IOException { doSiteCommand ( lftp , FTP . this . siteCommand ) ; } } , ( "Site<seq2seq4repair_space>Command:<seq2seq4repair_space>" + ( this . siteCommand ) ) ) ; } else { if ( ( remotedir ) != null ) { log ( "changing<seq2seq4repair_space>the<seq2seq4repair_space>remote<seq2seq4repair_space>directory" , MSG_VERBOSE ) ; ftp . changeWorkingDirectory ( remotedir ) ; if ( ! ( FTPReply . isPositiveCompletion ( ftp . getReplyCode ( ) ) ) ) { throw new BuildException ( ( ( "could<seq2seq4repair_space>not<seq2seq4repair_space>change<seq2seq4repair_space>remote<seq2seq4repair_space>" + "directory:<seq2seq4repair_space>" ) + ( ftp . getReplyString ( ) ) ) ) ; } } if ( ( newerOnly ) && ( timeDiffAuto ) ) { timeDiffMillis = getTimeDiff ( ftp ) ; } log ( ( ( ( FTP . ACTION_STRS [ action ] ) + "<seq2seq4repair_space>" ) + ( FTP . ACTION_TARGET_STRS [ action ] ) ) ) ; transferFiles ( ftp ) ; } } catch ( IOException ex ) { <START_BUG> throw new BuildException ( ( "error<seq2seq4repair_space>during<seq2seq4repair_space>FTP<seq2seq4repair_space>transfer:<seq2seq4repair_space>" + ex ) ) ; <END_BUG> } finally { if ( ( ftp != null ) && ( ftp . isConnected ( ) ) ) { try { log ( "disconnecting" , MSG_VERBOSE ) ; ftp . logout ( ) ; ftp . disconnect ( ) ; } catch ( IOException ex ) { } } } } public static class Action extends EnumeratedAttribute { private static final String [ ] VALID_ACTIONS = new String [ ] { "send" , "put" , "recv" , "get" , "del" , "delete" , "list" , "mkdir" , "chmod" , "rmdir" , "site" } ; public String [ ] getValues ( ) { } public int getAction ( ) { } } public static class Granularity extends EnumeratedAttribute { private static final String [ ] VALID_GRANULARITIES = new String [ ] { "" , "MINUTE" , "NONE" } ; public String [ ] getValues ( ) { } public long getMilliseconds ( int action ) { } static final FTP . Granularity getDefault ( ) { } } public static class FTPSystemType extends EnumeratedAttribute { private static final String [ ] VALID_SYSTEM_TYPES = new String [ ] { "" , "UNIX" , "VMS" , "WINDOWS" , "OS//2" , "OS//400" , "MVS" } ; public String [ ] getValues ( ) { } static final FTP . FTPSystemType getDefault ( ) { } } public static class LanguageCode extends EnumeratedAttribute { private static final String [ ] VALID_LANGUAGE_CODES = FTP . LanguageCode . getValidLanguageCodes ( ) ; private static final String [ ] getValidLanguageCodes ( ) { } public String [ ] getValues ( ) { } static final FTP . LanguageCode getDefault ( ) { } } }

Fix:
throw new BuildException ( ( "error<seq2seq4repair_space>during<seq2seq4repair_space>FTP<seq2seq4repair_space>transfer:<seq2seq4repair_space>" + ex ) , ex ) ;