code: @VisibleForTesting
    void addConfiguration(CombinedConfiguration combinedConfiguration,
        final Configuration configuration) {
      if (configuration instanceof AbstractConfiguration) {
        combinedConfiguration.addConfiguration((AbstractConfiguration) configuration);
      } else {
        combinedConfiguration.addConfiguration(setupConfiguration(new AbstractConfiguration() {
  
          @Override
          public boolean isEmpty() {
            return configuration.isEmpty();
          }
  
          @Override
          public Object getProperty(String key) {
            return configuration.getProperty(key);
          }
  
          @Override
          @SuppressWarnings("rawtypes") // No rawtype in class.
          public Iterator getKeys() {
            return configuration.getKeys();
          }
  
          @Override
          public boolean containsKey(String key) {
            return configuration.containsKey(key);
          }
  
          @Override
          protected void addPropertyDirect(String key, Object value) {
            configuration.addProperty(key, value);
          }
        }));
      }
    }
docs: Adds a configuration to the combined configuration, overwriting any
  existing properties.