code: def get_value(self, symbol):
      
      default = "default"
      if not self.parameters:
        return None
      # Hierarchically lookup the value
      result = None
      if default in self.parameters and symbol in self.parameters[default]:
        result = self.parameters[default][symbol]
      if self.env_short in self.parameters and symbol in self.parameters[self.env_short]:
        result = self.parameters[self.env_short][symbol]
      # This lookup is redundant when env_short == env, but it's also cheap
      if self.env in self.parameters and symbol in self.parameters[self.env]:
        result = self.parameters[self.env][symbol]
      # Finally, convert any list of items into a single \n-delimited string
      if isinstance(result, list):
        result = "\n".join(result)
  
      return result
docs: Hierarchically searches for 'symbol' in the parameters blob if there is one (would have
      been retrieved by 'load()'). Order is: default, <env_short>, <env>
      Args:
        symbol: the key to resolve
      Returns:
        Hierarchically resolved value for 'symbol' in the environment set by the constructor,
        or None if a match is not found or there are no parameters