re,
     when partial downloading is enforced by closing data channel
     socket on our client side, the server side immediately closes
     control channel (socket). Our codes deal with such a bad behavior.
 (4) LIST is used to obtain remote file attributes if possible.
     MDTM & SIZE would be nice, but not as ubiquitously implemented as LIST.
 (5) Avoid using ABOR in single thread? Do not use it at all.

 About exceptions:
 Some specific exceptions are re-thrown as one of FtpException*.java
 In fact, e