private void CheckDirectives(ValidationContext context, Directives directives) { var knownDirectives = new Dictionary <string, Directive>(); directives?.Apply(directive => { var directiveName = directive.Name; if (knownDirectives.ContainsKey(directiveName)) { var error = new ValidationError( context.OriginalQuery, "5.6.3", DuplicateDirectiveMessage(directiveName), knownDirectives[directiveName], directive); context.ReportError(error); } else { knownDirectives[directiveName] = directive; } }); }