private static List<FieldInfo> newFieldInfos(Descriptor descriptor) {
        return descriptor.getFields().stream()
                         .map(fieldDescriptor -> {
                             final TypeSignature typeSignature = newFieldTypeInfo(fieldDescriptor);
                             return FieldInfo.builder(fieldDescriptor.getName(), typeSignature)
                                             .requirement(
                                                     fieldDescriptor.isRequired() ? FieldRequirement.REQUIRED
                                                                                  : FieldRequirement.OPTIONAL)
                                             .build();
                         })
                         .collect(toImmutableList());
    }
Creates a new {@link StructInfo} from the specified {@link Descriptor}.
protobuf/src/main/java/com/linecorp/armeria/server/protobuf/ProtobufDescriptiveTypeInfoProvider.java