code: @Override
      public String getWithDefault(final String key, String defaultValue) {
          return retrieve(new Callable<String>() {
              @Override
              public String call() throws Exception {
                  return configuration.getString(key);
              }
          }, defaultValue);
      }
docs: Get a String property or a default value when property cannot be found in
  any configuration file.
  
  @param key          the key used in the configuration file.
  @param defaultValue Default value returned, when value cannot be found in
  configuration.
  @return the value of the key or the default value.