@java.lang.Override
        public Builder mergeFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0 -> done = true;
                        case 8 -> {
                            kind_ = input.readInt32();
                            kindCase_ = 1;
                        } // case 8
                        case 16 -> {
                            kind_ = input.readInt64();
                            kindCase_ = 2;
                        } // case 16
                        case 29 -> {
                            kind_ = input.readFloat();
                            kindCase_ = 3;
                        } // case 29
                        case 33 -> {
                            kind_ = input.readDouble();
                            kindCase_ = 4;
                        } // case 33
                        case 40 -> {
                            kind_ = input.readBool();
                            kindCase_ = 5;
                        } // case 40
                        case 50 -> {
                            kind_ = input.readBytes();
                            kindCase_ = 6;
                        } // case 50
                        case 58 -> {
                            String s = input.readStringRequireUtf8();
                            kindCase_ = 7;
                            kind_ = s;
                        } // case 58
                        case 66 -> {
                            Value m = input.readMessage(Value.parser(), extensionRegistry);
                            if (listValueBuilder_ == null) {
                                ensureListValueIsMutable();
                                listValue_.add(m);
                            } else {
                                listValueBuilder_.addMessage(m);
                            }
                        } // case 66
                        default -> {
                            if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                                done = true; // was an endgroup tag
                            }
                        } // default:
                    } // switch (tag)
                } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.unwrapIOException();
            } finally {
                onChanged();
            } // finally
            return this;
        }
Protobuf type {@code im.turms.proto.Value}
turms-server-common/src/main/java/im/turms/server/common/access/client/dto/model/common/Value.java