### Question:
ConfigurablePropertiesModule extends AbstractModule { static void overridePropertyValuesWithSystemProperties(Properties properties, List<String> overridablePropertyNames) { for (String propertyName : overridablePropertyNames) { properties.setProperty(propertyName, getOverridablePropertyValue(propertyName, properties)); } } ConfigurablePropertiesModule();   }### Answer:
@Test public void testOverridePropertyValuesWithSystemProperties() throws Exception { final String keyCanBeOverridden = "can.be.overridden"; final String keyCannotBeOverridden = "cannot.be.overridden"; final String defaultValue = "defaultValue"; final String systemValue = "systemValue"; Properties properties = new Properties(); properties.setProperty(keyCanBeOverridden, defaultValue); properties.setProperty(keyCannotBeOverridden, defaultValue); List<String> overridableProperties = new ArrayList<String>(); overridableProperties.add(keyCanBeOverridden); System.setProperty(keyCanBeOverridden, systemValue); ConfigurablePropertiesModule.overridePropertyValuesWithSystemProperties(properties, overridableProperties); Assert.assertEquals(systemValue, properties.getProperty(keyCanBeOverridden)); Assert.assertEquals(defaultValue, properties.getProperty(keyCannotBeOverridden)); System.clearProperty(keyCanBeOverridden); }