code: def document_from_string(self, schema, request_string):
          # type: (GraphQLSchema, str) -> Optional[GraphQLDocument]
          
          key = self.get_key_for_schema_and_document_string(schema, request_string)
          if key not in self.cache_map:
              self.cache_map[key] = self.backend.document_from_string(
                  schema, request_string
              )
  
          return self.cache_map[key]
docs: This method returns a GraphQLQuery (from cache if present)