code: private List<OperationPair> createAddOperations(ProductPartitionNode node) {
      AdGroupCriterionOperation addOp = new AdGroupCriterionOperation();
      addOp.setOperator(Operator.ADD);
  
      // Set the node's ID to a new temporary ID.
      node.setProductPartitionId(idGenerator.next());
  
      addOp.setOperand(ProductPartitionNodeAdapter.createCriterionForAdd(node, adGroupId,
          getBiddingStrategyConfiguration()));
  
      List<OperationPair> operationsList = Lists.newArrayList();
      operationsList.add(new OperationPair(node, addOp));
  
      // Recursively add all of this node's children to the operations list.
      for (ProductPartitionNode child : node.getChildren()) {
        operationsList.addAll(createAddOperations(child));
      }
      return operationsList;
    }
docs: Creates ADD operations for the node and ALL of its children and adds them to the provided
  operations list.