code: private static Set<Long> getFeedItemIdsForCampaign(CampaignFeed campaignFeed)
        throws RemoteException {
      Set<Long> feedItemIds = Sets.newHashSet();
  
      FunctionOperator functionOperator = campaignFeed.getMatchingFunction().getOperator();
  
      if (FunctionOperator.IN.equals(functionOperator)) {
        // Check if matchingFunction is of the form IN(FEED_ITEM_ID,{xxx,xxx}).
        // Extract feed items if applicable.
        feedItemIds.addAll(getFeedItemIdsFromArgument(campaignFeed.getMatchingFunction()));
      } else if (FunctionOperator.AND.equals(functionOperator)) {
        // Check if matchingFunction is of the form IN(FEED_ITEM_ID,{xxx,xxx}).
        // Extract feed items if applicable.
        Arrays.stream(campaignFeed.getMatchingFunction().getLhsOperand())
            .filter(FunctionOperand.class::isInstance)
            .map(argument -> (FunctionOperand) argument)
            .filter(operand -> FunctionOperator.IN.equals(operand.getValue().getOperator()))
            .forEach(operand -> feedItemIds.addAll(getFeedItemIdsFromArgument(operand.getValue())));
      } else {
        // There are no other matching functions involving feed item IDs.
      }
  
      return feedItemIds;
    }
docs: Returns the list of feed item IDs that are used by a campaign through a given campaign feed.