docs: def _ResolveContext(self, context, name, raw_data, path=None):
      """Returns the config options active under this context."""
      if path is None:
        path = []
  
      for element in context:
        if element not in self.valid_contexts:
          raise InvalidContextError("Invalid context specified: %s" % element)
  
        if element in raw_data:
          context_raw_data = raw_data[element]
  
          value = context_raw_data.get(name)
          if value is not None:
            if isinstance(value, string_types):
              value = value.strip()
  
            yield context_raw_data, value, path + [element]
  
          # Recurse into the new context configuration.
          for context_raw_data, value, new_path in self._ResolveContext(
              context, name, context_raw_data, path=path + [element]):
            yield context_raw_data, value, new_path