@VisibleForTesting
    public ProtoField(String name, String typeName, DescriptorProtos.FieldDescriptorProto.Type type, int index, List<ProtoField> fields) {
        this.name = name;
        this.typeName = typeName;
        this.type = type;