code: protected void configureConfigurations(
        Class<? extends AdsApiConfiguration> apiConfigurationClass,
        @Nullable List<URL> apiPropertyUrls, @Nullable List<String> apiPropertyFilePaths,
        Class<? extends AdsLibConfiguration> adsLibConfigurationClass,
        @Nullable List<URL> libPropertyUrls, @Nullable List<String> libPropertyFilePaths,
        List<URL> productPropertyUrls) {
      bind(AdsApiConfiguration.class).to(apiConfigurationClass).asEagerSingleton();
      bind(AdsLibConfiguration.class).to(adsLibConfigurationClass).asEagerSingleton();
      bind(Configuration.class).annotatedWith(Names.named("api")).toProvider(
          new ConfigurationProvider(ConfigurationHelper.newList(apiPropertyUrls, false),
              ConfigurationHelper.newList(apiPropertyFilePaths, true)));
      bind(Configuration.class).annotatedWith(Names.named("lib")).toProvider(
          new ConfigurationProvider(ConfigurationHelper.newList(libPropertyUrls, false),
              getFilePathConfigurationListWithDefault(libPropertyFilePaths,
                  Builder.DEFAULT_CONFIGURATION_FILENAME)));
      bind(Configuration.class).annotatedWith(Names.named("build")).toProvider(
          new ConfigurationProvider(ConfigurationHelper.newList(
              Lists.newArrayList(ConfigurationModule.class.getResource(BUILD_PROPERTIES)), false),
              null));
      bind(Configuration.class).annotatedWith(Names.named("product")).toProvider(
          new ConfigurationProvider(ConfigurationHelper.newList(productPropertyUrls, false), null));
    }
docs: Configures configurations.
  
  @param apiConfigurationClass the API configuration class
  @param apiPropertyUrls the API properties file URLs
  @param apiPropertyFilePaths the API properties file paths or names
  @param adsLibConfigurationClass the lib configuration class
  @param libPropertyUrls the lib properties files
  @param libPropertyFilePaths the lib properties file paths or names
  @param productPropertyUrls the product build properties files