public OperationRequest(Schema schema, DocumentNode queryDocument, OperationDefinitionNode operation) { _schema = schema ?? throw new ArgumentNullException(nameof(schema)); _queryDocument = queryDocument ?? throw new ArgumentNullException(nameof(queryDocument)); _operation = operation ?? throw new ArgumentNullException(nameof(operation)); _maxExecutionDepth = schema.Options.MaxExecutionDepth; _executionTimeout = schema.Options.ExecutionTimeout; _operationType = GetOperationType(schema, _operation); _variableValueBuilder = new VariableValueBuilder(schema, _operation); }