code: def __definitions_descriptor(self):
      
      # Filter out any keys that aren't 'properties' or 'type'
      result = {}
      for def_key, def_value in self.__parser.schemas().iteritems():
        if 'properties' in def_value or 'type' in def_value:
          key_result = {}
          required_keys = set()
          if 'type' in def_value:
            key_result['type'] = def_value['type']
          if 'properties' in def_value:
            for prop_key, prop_value in def_value['properties'].items():
              if isinstance(prop_value, dict) and 'required' in prop_value:
                required_keys.add(prop_key)
                del prop_value['required']
            key_result['properties'] = def_value['properties']
          # Add in the required fields, if any
          if required_keys:
            key_result['required'] = sorted(required_keys)
          result[def_key] = key_result
  
      # Add 'type': 'object' to all object properties
      # Also, recursively add relative path to all $ref values
      for def_value in result.itervalues():
        for prop_value in def_value.itervalues():
          if isinstance(prop_value, dict):
            if '$ref' in prop_value:
              prop_value['type'] = 'object'
            self._add_def_paths(prop_value)
  
      return result
docs: Describes the definitions section of the OpenAPI spec.
  
      Returns:
        Dictionary describing the definitions of the spec.