code: @Override
      void checkRequiredArguments(String[] args) {
          String message = "";
          // We expect at least the password arguments and the task name
          if (args.length < 2) {
              message = getMessage("insufficientArgs");
          }
  
          boolean passwordFound = false;
          boolean serverFound = false;
          boolean fileFound = false;
          for (String arg : args) {
              String key = arg.split("=")[0];
              if (key.equals(ARG_SERVER)) {
                  serverFound = true;
              }
              if (key.equals(ARG_FILE)) {
                  fileFound = true;
              }
              if (key.equals(ARG_PASSWORD)) {
                  passwordFound = true;
              }
          }
          if (serverFound && fileFound) {
              //both --server and --file can not be specified
              message += " " + getMessage("exclusiveArg", ARG_SERVER, ARG_FILE);
          }
          if (!passwordFound) {
              message += " " + getMessage("missingArg", ARG_PASSWORD);
          }
          if (!message.isEmpty()) {
              throw new IllegalArgumentException(message);
          }
      }
docs: {@inheritDoc}