code: def get_config(self, key, default=UndefinedKey):
          
          value = self.get(key, default)
          if isinstance(value, dict):
              return value
          elif value is None:
              return None
          else:
              raise ConfigException(
                  u"{key} has type '{type}' rather than 'config'".format(key=key, type=type(value).__name__))
docs: Return tree config representation of value found at key
  
          :param key: key to use (dot separated). E.g., a.b.c
          :type key: basestring
          :param default: default value if key not found
          :type default: config
          :return: config value
          :type return: ConfigTree