code: public Configuration getSource(String key)
      {
          if (key == null)
          {
              throw new IllegalArgumentException("Key must not be null!");
          }
  
          if (overrideProperties.containsKey(key)) {
              return overrideProperties;
          }
          
          for (Configuration conf : configList)
          {
              if (conf.containsKey(key))
              {
                  return conf;
              }
          }
          return null;
      }
docs: Returns the configuration source, in which the specified key is defined.
  This method will iterate over all existing child configurations and check
  whether they contain the specified key. The following constellations are
  possible:
  <ul>
  <li>If the child configurations contains this key, the first one is returned.</li>
  <li>If none of the child configurations contain the key, <b>null</b> is
  returned.</li>
  </ul>
  
  @param key the key to be checked
  @return the source configuration of this key