code: public static ProductPartitionTree createAdGroupTree(
        Long adGroupId,
        BiddingStrategyConfiguration biddingStrategyConfig,
        List<AdGroupCriterion> adGroupCriteria) {
      return new ProductPartitionTree(
          ProductPartitionTreeImpl.createAdGroupTree(
              adGroupId, biddingStrategyConfig, adGroupCriteria));
    }
docs: Returns a new instance of this class based on the collection of ad group criteria provided.
  <p>
  NOTE: If retrieving existing criteria for use with this method, you must include all of the
  fields in {@link #REQUIRED_SELECTOR_FIELD_ENUMS} in your {@link Selector}.
  
  @param adGroupId the ID of the ad group
  @param biddingStrategyConfig the {@link BiddingStrategyConfiguration} for the ad group
  @param adGroupCriteria the non-null (but possibly empty) list of ad group criteria
  
  @throws NullPointerException if any argument is null, any element in {@code adGroupCriteria} is
  null, or any required field from {@link #REQUIRED_SELECTOR_FIELD_ENUMS} is missing from an
  element in {@code adGroupCriteria}
  @throws IllegalArgumentException if {@code adGroupCriteria} does not include the root criterion
  of the product partition tree