OptionsHelper implements Customizable { public String getOptionValue(String name) { Map<Environment, List<String>> environments = options.get(name); if (environments == null) { environments = new HashMap<Environment, List<String>>(); options.put(name, environments); } List<String> optionList = environments.get(environment); if (optionList != null && optionList.size() > 0) { return optionList.get(0); } optionList = environments.get(Environment.Any); if (optionList != null && optionList.size() > 0) { return optionList.get(0); } return null; }  void setOption(String name, String value); void setOption(String name, String value, Environment environment); void removeOption(String name); boolean hasOption(String name); String[] getOptionNames(); String getOptionValue(String name); String getOptionValue(String name, String defaultValue); String[] getOptionValues(String name); Map<String, Map<Environment, List<String>>> getOptions(); static OptionsHelper fromXml(Node config); void setEnvironment(Environment environment); static OptionsHelper fromXml(Node config, XPath xpathProcessor); static void fromXml(Node config, Customizable customizable,
      XPath xpathProcessor); String toXml();  }
@Test public void testGetOptionValueStringString() { assertEquals(optionValue, options.getOptionValue(optionKey, "abc")); assertEquals(otherOptionValue, options.getOptionValue(multiOptionKey, "abc")); assertEquals("test", options.getOptionValue("abc", "test")); }