@VisibleForTesting
  public IDefaultValueProvider createDefaultValueProvider(
      final CommandLine commandLine,
      final Optional<File> configFile,
      final Optional<InputStream> profile) {
    List<IDefaultValueProvider> providers = new ArrayList<>();
    providers.add(new EnvironmentVariableDefaultProvider(environment));

    configFile.ifPresent(
        config -> {
          if (config.exists()) {
            providers.add(TomlConfigurationDefaultProvider.fromFile(commandLine, config));
          }
        });

    profile.ifPresent(
        p -> providers.add(TomlConfigurationDefaultProvider.fromInputStream(commandLine, p)));
    return new CascadingDefaultProvider(providers);
  }
Create default value provider default value provider.

@param commandLine the command line
@param configFile the config file
@param profile the profile file
@return the default value provider
app/src/main/java/org/hyperledger/besu/cli/util/ConfigDefaultValueProviderStrategy.java