code: private void appendOption(StringBuilder sb, Option option, boolean required) {
          if (!required) {
              sb.append(OPTIONAL_BRACKET_OPEN);
          }
          if (option.getName() != null) {
              sb.append(OPTION_PREFIX).append(option.getName());
          } else {
              sb.append(LONG_OPTION_PREFIX).append(option.getLongName());
          }
          // if the Option has a value and a non blank arg name
          if (option.hasValue() && (option.getValueName() == null || !option.getValueName().isEmpty())) {
              sb.append(option.isWithEqualSign() ? '=' : LONG_OPTION_SEPARATOR);
              sb.append(ARG_BRACKET_OPEN).append(option.getValueName() != null ? option.getValueName() : getArgName()).append(ARG_BRACKET_CLOSE);
          }
          if (!required) {
              sb.append(OPTIONAL_BRACKET_CLOSE);
          }
      }
docs: Appends the usage clause for an Option to a StringBuilder.
  
  @param sb the StringBuilder to append to
  @param option the Option to append
  @param required whether the Option is required or not