class Configuration {

  public String removeProperty(String configType, String propertyName) {
    String previousValue = null;
    if (properties.containsKey(configType)) {
      previousValue = properties.get(configType).remove(propertyName);
    }

    if (parentConfiguration != null) {
      String parentPreviousValue =  parentConfiguration.removeProperty(configType, propertyName);
      if (previousValue == null) {
        previousValue = parentPreviousValue;
      }
    }
    return previousValue;
  }

  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);

}