I thought you might like to have a minimal use case that will trigger the exception:
import com.enterprisedt.net.ftp.SecureFileTransferClient;
public class FtpClient {
    public static void main( final String[] args ) throws com.enterprisedt.net.ftp.FTPException, java.io.IOException {
        final SecureFileTransferClient client = new SecureFileTransferClient(1, 1);
        client.setProtocol( com.enterprisedt.net.ftp.Protocol.SFTP );
        client.getAdvancedSSHSettings().setAuthenticationType( com.enterprisedt.net.ftp.ssh.SSHAuthenticationType.PASSWORD );
        // This triggers the Java 6 flavor IOException... failing to do the following call
        // client.getAdvancedSSHSettings().getSSHServerValidator().addKnownHost( server, file.getAbsolutePath() );
        client.setServerValidationEnabled( true );
        client.getAdvancedFTPSettings().setConnectMode( com.enterprisedt.net.ftp.FTPConnectMode.PASV );
        client.setRemoteHost( "scsapq27.mydomain.com" );
        client.setRemotePort( 22 );
        client.setUserName( "myusername" );
        client.setPassword( "mypassword" );
        client.connect();
    }
}
The above, when run under Java 5, generates the following exception:
E:\Berny\Test>C:\PF64\Java\jdk1.5.0_16\bin\java -cp ".;edtftpj-pro.4.6.1.jar;license.jar" FtpClient
Exception in thread "main" com.enterprisedt.net.ftp.FTPException: java.io.IOException: method <init>(Ljava/lang/String;Ljava/lang/Throwable;)V not found
        at com.enterprisedt.net.ftp.async.AsyncResult.endAsyncInternal(AsyncResult.java:315)
        at com.enterprisedt.net.ftp.async.ConnectResult.endAsync(ConnectResult.java:116)
        at com.enterprisedt.net.ftp.SecureFileTransferClient.connect(SecureFileTransferClient.java:765)
        at FtpClient.main(FtpClient.java:18)