public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    ProtoDescriptor = input.ReadString();
                    break;
                }

                case 18: {
                    services_.AddEntriesFrom(input, _repeated_services_codec);
                    break;
                }

                case 26: {
                    if (printOptions_ == null)
                    {
                        PrintOptions = new global::Envoy.Config.Filter.Http.Transcoder.V3Alpha.GrpcJsonTranscoder.Types.PrintOptions();
                    }
                    input.ReadMessage(PrintOptions);
                    break;
                }

                case 34: {
                    ProtoDescriptorBin = input.ReadBytes();
                    break;
                }

                case 40: {
                    MatchIncomingRequestRoute = input.ReadBool();
                    break;
                }

                case 50: {
                    ignoredQueryParameters_.AddEntriesFrom(input, _repeated_ignoredQueryParameters_codec);
                    break;
                }

                case 56: {
                    AutoMapping = input.ReadBool();
                    break;
                }

                case 64: {
                    IgnoreUnknownQueryParameters = input.ReadBool();
                    break;
                }
                }
            }
        }
        public void MergeFrom(GrpcJsonTranscoder other)
        {
            if (other == null)
            {
                return;
            }
            services_.Add(other.services_);
            if (other.printOptions_ != null)
            {
                if (printOptions_ == null)
                {
                    PrintOptions = new global::Envoy.Config.Filter.Http.Transcoder.V3Alpha.GrpcJsonTranscoder.Types.PrintOptions();
                }
                PrintOptions.MergeFrom(other.PrintOptions);
            }
            if (other.MatchIncomingRequestRoute != false)
            {
                MatchIncomingRequestRoute = other.MatchIncomingRequestRoute;
            }
            ignoredQueryParameters_.Add(other.ignoredQueryParameters_);
            if (other.AutoMapping != false)
            {
                AutoMapping = other.AutoMapping;
            }
            if (other.IgnoreUnknownQueryParameters != false)
            {
                IgnoreUnknownQueryParameters = other.IgnoreUnknownQueryParameters;
            }
            switch (other.DescriptorSetCase)
            {
            case DescriptorSetOneofCase.ProtoDescriptor:
                ProtoDescriptor = other.ProtoDescriptor;
                break;

            case DescriptorSetOneofCase.ProtoDescriptorBin:
                ProtoDescriptorBin = other.ProtoDescriptorBin;
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }