code: def CreateSubdivision(self, parent=None, value=None):
      
      division = {
          'xsi_type': 'ProductPartition',
          'partitionType': 'SUBDIVISION',
          'id': str(self.next_id)
      }
  
      # The root has neither a parent nor a value.
      if parent is not None:
        division['parentCriterionId'] = parent['id']
        division['caseValue'] = value
  
      adgroup_criterion = {
          'xsi_type': 'BiddableAdGroupCriterion',
          'adGroupId': self.adgroup_id,
          'criterion': division
      }
  
      self.CreateAddOperation(adgroup_criterion)
      self.next_id -= 1
  
      return division
docs: Creates a subdivision node.
  
      Args:
        parent: The node that should be this node's parent.
        value: The value being partitioned on.
      Returns:
        A new subdivision node.