Como fazer upload de diretório e subpastas com o JSch em java?

Galera tou fazendo uma aplicação que copia um diretório para um servidor remoto, porem o método put só copia arquivo. Como faço para copiar o diretório completo com todas as subpastas ?

public static void main(String args[]) throws Exception {
        String host = "192.168.1.108";
        int port = 22;      
        String sourcePath = "/home/ramon/Vídeos/teste/";
        String destPath = "/root/";        
        JSch jsch = new JSch();
        Session session = jsch.getSession("root",host,port);
        session.setUserInfo(new User());
        session.connect(); 
        ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
        sftpChannel.connect();
        sftpChannel.put(sourcePath, destPath, new MyProgressMonitor());
        sftpChannel.exit();
        sftpChannel.disconnect();
        session.disconnect();
}

Em pseudocódigo seria algo assim:

copiarDiretorio( Arquivo origem, Arquivo destino ) {
    se origem é um diretório, então:
        se destino/origem não existe no servidor, então:
            criar diretório destino/origem no servidor;
        fim se
        para cada arquivo A contido em origem, faça:
            copiarDiretorio( A, destino/origem );
        fim para
    senão
        copiar origem para destino;
    fim se
}

Deu certo essa logica :slight_smile:

vlwwww =)