code: def adjustRange(self, recursive=True):
          
          if ( self.adjustmentsBlocked('range') ):
              return
          
          if ( self.itemStyle() == self.ItemStyle.Group ):
              dateStart = self.dateStart()
              dateEnd   = self.dateEnd()
              first     = True
              
              for c in range(self.childCount()):
                  child       = self.child(c)
                  
                  if ( first ):
                      dateStart = child.dateStart()
                      dateEnd   = child.dateEnd()
                      first     = False
                  else:
                      dateStart   = min(child.dateStart(), dateStart)
                      dateEnd     = max(child.dateEnd(), dateEnd)
              
              self._dateStart = dateStart
              self._dateEnd   = dateEnd
              
              self.sync()
          
          if ( self.parent() and recursive ):
              self.parent().adjustRange(True)
docs: Adjust the start and end ranges for this item based on the limits from
          its children.  This method will only apply to group items.
          
          :param      recursive | <bool>