private String getConfigurationValue(final OptionSpec optionSpec) {
    // NOTE: This temporary fix is necessary to make certain options be treated as a multi-value.
    // This can be done automatically by picocli if the object implements Collection.
    final boolean isArray = getKeyName(optionSpec).map(result::isArray).orElse(false);

    if (optionSpec.type().equals(Boolean.class) || optionSpec.type().equals(boolean.class)) {
      return getBooleanEntryAsString(optionSpec);
    } else if (optionSpec.isMultiValue() || isArray) {
      return getListEntryAsString(optionSpec);
    } else if (isNumericType(optionSpec.type())) {
      return getNumericEntryAsString(optionSpec);
    } else { // else will be treated as String
      return getEntryAsString(optionSpec);
    }
  }
Creates a new TomlConfigurationDefaultProvider from an input stream.

@param commandLine the command line
@param inputStream the input stream
@return a new TomlConfigurationDefaultProvider
app/src/main/java/org/hyperledger/besu/cli/util/TomlConfigurationDefaultProvider.java