code: public String getPublicConfigValue(String key) throws ConfigurationException {
          if (!allProps.containsKey(key)) {
              throw new UndefinedPropertyException("The requested config key does not exist.");
          }
          if (restrictedConfigs.contains(key)) {
              throw new ConfigurationException("The requested config key is not publicly available!");
          }
          return allProps.get(key);
      }
docs: This is a generic function for retrieving any config value. The returned value
  is the one the server is operating with, no matter whether it comes from defaults
  or from the user-supplied configuration.
  
  This function only provides access to configs which are deemed safe to share
  publicly (i.e.: not security-related configs). The list of configs which are
  considered off-limit can itself be configured via '{@value #RESTRICTED_CONFIGS}'.
  
  @param key config key for which to retrieve the value.
  @return the value for the requested config key, in String format.
  May return null if the key exists and its value is explicitly set to null.
  @throws UndefinedPropertyException if the requested key does not exist in the config.
  @throws ConfigurationException if the requested key is not publicly available.