code: public void store(DataSink sink) {
          try {
              localControlChannel.resetReplyCount();
              TransferContext context= createTransferContext();
  
              if (session.serverMode == Session.SERVER_PASSIVE) {
                  runTask(createPassiveConnectTask(sink, context));
              } else {
                  runTask(createActiveConnectTask(sink, context));
              }
          } catch (Exception e) {
              exceptionToControlChannel(e, "ocurred during store()");
          }
      }
docs: Asynchronous; return before completion.
  Start the incoming transfer and
  store the file to the supplied data sink.
  Any exception that would occure will not be thrown but
  returned through the local control channel.