docs: static void checkDeprecatedDirective(List<GraphQLError> errors, Directive directive, Supplier<InvalidDeprecationDirectiveError> errorSupplier) {
          if ("deprecated".equals(directive.getName())) {
              // it can have zero args
              List<Argument> arguments = directive.getArguments();
              if (arguments.size() == 0) {
                  return;
              }
              // but if has more than it must have 1 called "reason" of type StringValue
              if (arguments.size() == 1) {
                  Argument arg = arguments.get(0);
                  if ("reason".equals(arg.getName()) && arg.getValue() instanceof StringValue) {
                      return;
                  }
              }
              // not valid
              errors.add(errorSupplier.get());
          }
      }