code: public Reply exchange(Command cmd)
          throws ServerException, IOException, FTPReplyParseException {
          // send the command
          write(cmd);
          // get the reply
          return read();
      }
docs: Write the command to the control channel,
  block until reply arrives and return the reply.
  Before calling this method make sure that no old replies are
  waiting on the control channel. Otherwise the reply returned
  may not be the reply to this command.
  @throws java.io.IOException on I/O error
  @throws FTPReplyParseException on bad reply format
  @param cmd FTP command
  @return the first reply that waits in the control channel