Inheritance: Google.Api.Ads.AdWords.Lib.AdWordsSoapClient, ICampaignAdExtensionService
        /// <summary>
        /// Gets the legacy sitelinks for campaign.
        /// </summary>
        /// <param name="campaignExtensionService">The campaign extension service.</param>
        /// <param name="campaignId">The campaign id.</param>
        /// <returns>The CampaignAdExtension that contains the legacy sitelinks, or
        /// null if there are no legacy sitelinks in this campaign.</returns>
        private static CampaignAdExtension getLegacySitelinksForCampaign(
        CampaignAdExtensionService campaignExtensionService, long campaignId)
        {
            // Create the selector.
              Selector selector = new Selector();
              selector.fields = new string[] {"CampaignId", "AdExtensionId", "Status", "DisplayText",
            "DestinationUrl"};

              // Filter the results for specified campaign id.
              Predicate campaignPredicate = new Predicate();
              campaignPredicate.@operator = PredicateOperator.EQUALS;
              campaignPredicate.field = "CampaignId";
              campaignPredicate.values = new string[] {campaignId.ToString()};

              // Filter the results for active campaign ad extensions. You may add
              // additional filtering conditions here as required.
              Predicate statusPredicate = new Predicate();
              statusPredicate.@operator = PredicateOperator.EQUALS;
              statusPredicate.field = "Status";
              statusPredicate.values = new string[] {CampaignAdExtensionStatus.ACTIVE.ToString()};

              // Filter for sitelinks ad extension type.
              Predicate typePredicate = new Predicate();
              typePredicate.@operator = PredicateOperator.EQUALS;
              typePredicate.field = "AdExtensionType";
              typePredicate.values = new string[] {"SITELINKS_EXTENSION"};

              selector.predicates = new Predicate[] {campaignPredicate, statusPredicate, typePredicate};

              CampaignAdExtensionPage page = campaignExtensionService.get(selector);
              if (page.entries != null && page.entries.Length > 0) {
            return page.entries[0];
              } else {
            return null;
              }
        }
        /// <summary>
        /// Delete legacy sitelinks from a campaign.
        /// </summary>
        /// <param name="campaignExtensionService">The campaign extension service.
        /// </param>
        /// <param name="extensionToDelete">The CampaignAdExtension that holds
        /// legacy sitelinks.</param>
        private static void deleteLegacySitelinks(CampaignAdExtensionService campaignExtensionService,
        CampaignAdExtension extensionToDelete)
        {
            CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation();
              operation.@operator = Operator.REMOVE;
              operation.operand = extensionToDelete;

              campaignExtensionService.mutate(new CampaignAdExtensionOperation[] {operation});
        }