Factors out the common logic between the FTP and SFTP adapters. Designed to
be extensible to handle adapters whose task it is to synchronize a remote
file system with a local file system (NB: this does *NOT* handle pushing
files TO the remote file system that exist uniquely in the local file system.
It only handles pulling from the remote file system - as you would expect
from an 'inbound' adapter).
The base class supports configuration of whether the remote file system and
local file system's directories should be created on start (what 'creating a
directory' means to the specific adapter is of course implementation
specific).
This class is to be used as a pair with an implementation of
AbstractInboundFileSynchronizer. The synchronizer must
handle the work of actually connecting to the remote file system and
delivering new Files.
Polls from the file source. If the result is not null, it will be returned.
If the result is null, it attempts to sync up with the remote directory to populate the file source.
Then, it polls the file source again and returns the result, whether or not it is null.