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: {
                            Field3 = input.ReadString();
                            break;
                        }

                        case 18: {
                            if (field4_ == null)
                            {
                                field4_ = new global::Confluent.Kafka.Examples.Protobuf.NestedOuter.Types.NestedMid2.Types.NestedLower();
                            }
                            input.ReadMessage(field4_);
                            break;
                        }
                        }
                    }
                }
 public void MergeFrom(NestedMid2 other)
 {
     if (other == null)
     {
         return;
     }
     if (other.Field3.Length != 0)
     {
         Field3 = other.Field3;
     }
     if (other.field4_ != null)
     {
         if (field4_ == null)
         {
             field4_ = new global::Confluent.Kafka.Examples.Protobuf.NestedOuter.Types.NestedMid2.Types.NestedLower();
         }
         Field4.MergeFrom(other.Field4);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }