code: public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session,
        Long campaignId, String feedName, @Nullable Long adGroupId) throws RemoteException {
      SiteLinksDataHolder siteLinksData = new SiteLinksDataHolder();
      createSiteLinksFeed(adWordsServices, session, siteLinksData, feedName);
      createSiteLinksFeedItems(adWordsServices, session, siteLinksData);
      createSiteLinksFeedMapping(adWordsServices, session, siteLinksData);
      createSiteLinksCampaignFeed(adWordsServices, session, siteLinksData, campaignId);
      // Optional: Restrict the first feed item to only serve with ads for the specified ad group ID.
      if (adGroupId != null) {
        restrictFeedItemToAdGroup(adWordsServices, session, siteLinksData, adGroupId);
      }
    }
docs: Runs the example.
  
  @param adWordsServices the services factory.
  @param session the session.
  @param campaignId the ID of the campaign where sitelinks will be added.
  @param feedName the name of the new sitelinks feed.
  @param adGroupId the ID of the ad group to which additional targeting will be applied.
  @throws ApiException if the API request failed with one or more service errors.
  @throws RemoteException if the API request failed due to other errors.