### Question:
IdentitySourceConfiguration { public static ImmutableMap<String, IdentitySourceConfiguration> getReferenceIdentitySourcesFromConfiguration() { checkState(Configuration.isInitialized(), "configuration not initialized"); List<String> configurations = Configuration.getMultiValue( REFERENCE_IDENTITY_SOURCES_CONFIG, Collections.emptyList(), Configuration.STRING_PARSER) .get(); return configurations .stream() .filter(s -> !Strings.isNullOrEmpty(s)) .collect(ImmutableMap.toImmutableMap(k -> k, v -> forReferenceIdentitySource(v))); } private  IdentitySourceConfiguration(IdentitySourceConfiguration.Builder builder); String getIdentitySourceSchemaAttribute(); String getGroupNamespace(); String getIdentitySourceSchema(); String getIdentitySourceId(); static IdentitySourceConfiguration fromConfiguration(); static ImmutableMap<String, IdentitySourceConfiguration> getReferenceIdentitySourcesFromConfiguration(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testReferenceIdentitySourcesFromConfiguration() { Properties properties = new Properties(); properties.put("api.referenceIdentitySources", "idSource1,idSource2"); properties.put("api.referenceIdentitySource.idSource1.id", "id1"); properties.put("api.referenceIdentitySource.idSource2.id", "id2"); setupConfig.initConfig(properties); IdentitySourceConfiguration config1 = new IdentitySourceConfiguration.Builder("id1").build(); IdentitySourceConfiguration config2 = new IdentitySourceConfiguration.Builder("id2").build(); ImmutableMap<String, IdentitySourceConfiguration> expected = ImmutableMap.of("idSource1", config1, "idSource2", config2); ImmutableMap<String, IdentitySourceConfiguration> actual = IdentitySourceConfiguration.getReferenceIdentitySourcesFromConfiguration(); assertEquals(expected, actual); }