public void MergeFrom(AdGroupAd other)
 {
     if (other == null)
     {
         return;
     }
     if (other.ResourceName.Length != 0)
     {
         ResourceName = other.ResourceName;
     }
     if (other.Status != global::Google.Ads.GoogleAds.V9.Enums.AdGroupAdStatusEnum.Types.AdGroupAdStatus.Unspecified)
     {
         Status = other.Status;
     }
     if (other.HasAdGroup)
     {
         AdGroup = other.AdGroup;
     }
     if (other.ad_ != null)
     {
         if (ad_ == null)
         {
             Ad = new global::Google.Ads.GoogleAds.V9.Resources.Ad();
         }
         Ad.MergeFrom(other.Ad);
     }
     if (other.policySummary_ != null)
     {
         if (policySummary_ == null)
         {
             PolicySummary = new global::Google.Ads.GoogleAds.V9.Resources.AdGroupAdPolicySummary();
         }
         PolicySummary.MergeFrom(other.PolicySummary);
     }
     if (other.AdStrength != global::Google.Ads.GoogleAds.V9.Enums.AdStrengthEnum.Types.AdStrength.Unspecified)
     {
         AdStrength = other.AdStrength;
     }
     actionItems_.Add(other.actionItems_);
     labels_.Add(other.labels_);
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

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

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

                case 24: {
                    Status = (global::Google.Ads.GoogleAds.V9.Enums.AdGroupAdStatusEnum.Types.AdGroupAdStatus)input.ReadEnum();
                    break;
                }

                case 42: {
                    if (ad_ == null)
                    {
                        Ad = new global::Google.Ads.GoogleAds.V9.Resources.Ad();
                    }
                    input.ReadMessage(Ad);
                    break;
                }

                case 50: {
                    if (policySummary_ == null)
                    {
                        PolicySummary = new global::Google.Ads.GoogleAds.V9.Resources.AdGroupAdPolicySummary();
                    }
                    input.ReadMessage(PolicySummary);
                    break;
                }

                case 56: {
                    AdStrength = (global::Google.Ads.GoogleAds.V9.Enums.AdStrengthEnum.Types.AdStrength)input.ReadEnum();
                    break;
                }

                case 74: {
                    AdGroup = input.ReadString();
                    break;
                }

                case 82: {
                    labels_.AddEntriesFrom(ref input, _repeated_labels_codec);
                    break;
                }

                case 106: {
                    actionItems_.AddEntriesFrom(ref input, _repeated_actionItems_codec);
                    break;
                }
                }
            }
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

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

                case 24: {
                    Status = (global::Google.Ads.GoogleAds.V9.Enums.AdGroupAdStatusEnum.Types.AdGroupAdStatus)input.ReadEnum();
                    break;
                }

                case 42: {
                    if (ad_ == null)
                    {
                        Ad = new global::Google.Ads.GoogleAds.V9.Resources.Ad();
                    }
                    input.ReadMessage(Ad);
                    break;
                }

                case 50: {
                    if (policySummary_ == null)
                    {
                        PolicySummary = new global::Google.Ads.GoogleAds.V9.Resources.AdGroupAdPolicySummary();
                    }
                    input.ReadMessage(PolicySummary);
                    break;
                }

                case 56: {
                    AdStrength = (global::Google.Ads.GoogleAds.V9.Enums.AdStrengthEnum.Types.AdStrength)input.ReadEnum();
                    break;
                }

                case 74: {
                    AdGroup = input.ReadString();
                    break;
                }

                case 82: {
                    labels_.AddEntriesFrom(input, _repeated_labels_codec);
                    break;
                }

                case 106: {
                    actionItems_.AddEntriesFrom(input, _repeated_actionItems_codec);
                    break;
                }
                }
            }
    #endif
        }