class HierachicalConfiguration extends AbstractConfiguration {

  public static Configuration create(final Configuration... configurations) {
    int i = 0;
    while (i < configurations.length && null == configurations[i]) {
      ++i;
    }
    if (i >= configurations.length) {
      return new DummyConfiguration();
    }

    Configuration hirarchicalConf = configurations[i];
    while (i < configurations.length) {
      if (null != configurations[i]) {
        hirarchicalConf = new HierachicalConfiguration(hirarchicalConf, configurations[i]);
      }
      ++i;
    }
    return hirarchicalConf;
  }

  public  HierachicalConfiguration(final Configuration configuration);

}