private static boolean hasRequiredFieldBehavior(FieldDescriptor field) {
        if (field.isRepeated()) {
            return false;
        }

        final List<FieldBehavior> fieldBehaviors = field
                .getOptions()
                .getExtension((ExtensionLite<DescriptorProtos.FieldOptions, List<FieldBehavior>>)
                        FieldBehaviorProto.fieldBehavior);
        return fieldBehaviors.contains(FieldBehavior.REQUIRED);
    }
Creates a new {@link GrpcService} instance from the given {@code delegate}. If it is possible
to support HTTP/JSON to gRPC transcoding, a new {@link HttpJsonTranscodingService} instance
would be returned. Otherwise, the {@code delegate} would be returned.
grpc/src/main/java/com/linecorp/armeria/server/grpc/HttpJsonTranscodingService.java