docs: function (key, value, recursive) {
  
                  if (arguments.length < 3) {
                      recursive = true;
                  }
  
                  var configuration,
                      i, ret;
  
                  for (i = 0; i < this.$configurations.length; i++) {
                      configuration = this.$configurations[i];
  
                      if (configuration.$[key] === value) {
                          return configuration;
                      }
                  }
  
                  if (recursive) {
                      for (i = 0; i < this.$configurations.length; i++) {
                          configuration = this.$configurations[i];
                          ret = configuration.getConfigurationByKeyValue(key, value);
  
                          if (ret) {
                              return ret;
                          }
                      }
                  }
  
                  return null;
              }