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: {
                    global::Envoy.Config.Common.Tap.V3Alpha.AdminConfig subBuilder = new global::Envoy.Config.Common.Tap.V3Alpha.AdminConfig();
                    if (configTypeCase_ == ConfigTypeOneofCase.AdminConfig)
                    {
                        subBuilder.MergeFrom(AdminConfig);
                    }
                    input.ReadMessage(subBuilder);
                    AdminConfig = subBuilder;
                    break;
                }

                case 18: {
                    global::Envoy.Service.Tap.V3Alpha.TapConfig subBuilder = new global::Envoy.Service.Tap.V3Alpha.TapConfig();
                    if (configTypeCase_ == ConfigTypeOneofCase.StaticConfig)
                    {
                        subBuilder.MergeFrom(StaticConfig);
                    }
                    input.ReadMessage(subBuilder);
                    StaticConfig = subBuilder;
                    break;
                }

                case 26: {
                    global::Envoy.Config.Common.Tap.V3Alpha.CommonExtensionConfig.Types.TapDSConfig subBuilder = new global::Envoy.Config.Common.Tap.V3Alpha.CommonExtensionConfig.Types.TapDSConfig();
                    if (configTypeCase_ == ConfigTypeOneofCase.TapdsConfig)
                    {
                        subBuilder.MergeFrom(TapdsConfig);
                    }
                    input.ReadMessage(subBuilder);
                    TapdsConfig = subBuilder;
                    break;
                }
                }
            }
        }