docs: private void validateOptions() {
          // No validation if we found a help parameter
          if (helpWasSpecified) {
              return;
          }
  
          if (!requiredFields.isEmpty()) {
              List<String> missingFields = new ArrayList<>();
              for (ParameterDescription pd : requiredFields.values()) {
                  missingFields.add("[" + Strings.join(" | ", pd.getParameter().names()) + "]");
              }
              String message = Strings.join(", ", missingFields);
              throw new ParameterException("The following "
                      + pluralize(requiredFields.size(), "option is required: ", "options are required: ")
                      + message);
          }
  
          if (mainParameter != null && mainParameter.description != null) {
              ParameterDescription mainParameterDescription = mainParameter.description;
              // Make sure we have a main parameter if it was required
              if (mainParameterDescription.getParameter().required() &&
                      !mainParameterDescription.isAssigned()) {
                  throw new ParameterException("Main parameters are required (\""
                          + mainParameterDescription.getDescription() + "\")");
              }
  
              // If the main parameter has an arity, make sure the correct number of parameters was passed
              int arity = mainParameterDescription.getParameter().arity();
              if (arity != Parameter.DEFAULT_ARITY) {
                  Object value = mainParameterDescription.getParameterized().get(mainParameter.object);
                  if (List.class.isAssignableFrom(value.getClass())) {
                      int size = ((List<?>) value).size();
                      if (size != arity) {
                          throw new ParameterException("There should be exactly " + arity + " main parameters but "
                                  + size + " were found");
                      }
                  }
  
              }
          }
      }