class HierachicalConfiguration extends AbstractConfiguration {

  @Override
  public Map<String, Object> asMap() {
    final Map<String, Object> parentMap =
        null != parent ? parent.asMap() : new HashMap<String, Object>();
    parentMap.putAll(configuration.asMap());
    return parentMap;
  }

  public  HierachicalConfiguration(final Configuration configuration);

}