Something like list(String path, boolean recurse) to Session would be a good API delegated from the AbstractInboundFileSynchronizer.transferFilesFromRemoteToLocal() when we would like to deal not only with the top-level files in the remote directory, but also pull files from sub-directories.