code: private String getArgumentDescription(
              final Map<String, NamedArgumentDefinition> allActualArguments,
              final Collection<CommandLinePluginDescriptor<?>> pluginDescriptors) {
          final StringBuilder sb = new StringBuilder();
          if (!getDocString().isEmpty()) {
              sb.append(getDocString());
              sb.append("  ");
          }
          if (isCollection()) {
              if (isOptional()) {
                  sb.append("This argument may be specified 0 or more times. ");
              } else {
                  sb.append("This argument must be specified at least once. ");
              }
          }
          if (isOptional()) {
              sb.append("Default value: ");
              sb.append(getDefaultValueAsString());
              sb.append(". ");
          } else {
              sb.append("Required. ");
          }
  
          // if this argument definition is a string field claimed by a plugin descriptor (i.e.,
          // it holds the names of plugins specified by the user on the command line, such as read filter names),
          // then we need to delegate to the plugin descriptor to generate the list of allowed values
          if (!usageForPluginDescriptorArgument(sb, pluginDescriptors)) {
              // If the argument wasn't claimed by any descriptor, treat it as a normal argument
              sb.append(getOptionsAsDisplayString());
          }
  
          if (!getMutexTargetList().isEmpty()) {
              sb.append(" Cannot be used in conjunction with argument(s)");
              for (final String argument : getMutexTargetList()) {
                  final NamedArgumentDefinition mutexArgumentDefinition = allActualArguments.get(argument);
                  sb.append(" ").append(mutexArgumentDefinition.getUnderlyingField().getName());
                  if (!mutexArgumentDefinition.getShortName().isEmpty()) {
                      sb.append(" (").append(mutexArgumentDefinition.getShortName()).append(")");
                  }
              }
          }
          return sb.toString();
      }
docs: Return a usage string representing this argument.