class Configuration {

  public String getPropertyValue(String configType, String propertyName) {
    String value = null;
    if (properties.containsKey(configType) && properties.get(configType).containsKey(propertyName)) {
      value = properties.get(configType).get(propertyName);
    } else if (parentConfiguration != null) {
      value = parentConfiguration.getPropertyValue(configType, propertyName);
    }

    return value;
  }

  public  Configuration(Map<String, Map<String, String>> properties,
                       Map<String, Map<String, Map<String, String>>> attributes,
                       Configuration parentConfiguration);
  public  Configuration(Map<String, Map<String, String>> properties,
                       Map<String, Map<String, Map<String, String>>> attributes);

}