### Question:
ConfigLoader { public List<String> getValuesForPropertyList(String propertyQualifier) { final String replacedArrayNotation = propertyQualifier.replaceAll("\\[]\\.", ".%s."); if (replacedArrayNotation.contains("%s")) { final List<String> values = IntStream.range(1, 20).boxed() .map(i -> String.format(replacedArrayNotation, i)) .map(ConfigLoader::propertyQualifierToPropertyName) .map(this::getEnvOrSystemProp) .filter(Optional::isPresent) .map(Optional::get) .collect(Collectors.toList()); if (values.size() > 0) { return values; } } return getFromConfigFile(propertyQualifier, false); } ConfigLoader(); String getValueForProperty(String propertyQualifier); String getValueForProperty(String propertyQualifier, boolean optional); List<String> getValuesForProperty(String propertyQualifier, boolean optional); List<String> getValuesForPropertyList(String propertyQualifier);  }### Answer:
@Test public void testObjectListProperties() { final List<String> tokenIssuerUrlPatterns = new ConfigLoader().getValuesForPropertyList("apim.tokenissuer[].url-pattern"); assertEquals(4, tokenIssuerUrlPatterns.size()); assertEquals("http: assertEquals("https: assertEquals("https: assertEquals("https: }