class HierachicalConfiguration extends AbstractConfiguration {

  @Override
  public Configuration getSubconfiguration(final String key) {
    if (null == parent) {
      return configuration.getSubconfiguration(key);
    }
    return HierachicalConfiguration.create(parent.getSubconfiguration(key),
        configuration.getSubconfiguration(key));
  }

  public  HierachicalConfiguration(final Configuration configuration);

}