code: def checkState(self):
          
          #commonData = self.childItems[0].data if self.childItems else Qt.PartiallyChecked
          commonData = None
  
          for child in self.childItems:
              if isinstance(child, BoolCti):
                  if commonData is not None and child.data != commonData:
                      return Qt.PartiallyChecked
                  commonData = child.data
  
          if commonData is True:
              return Qt.Checked
          elif commonData is False:
              return Qt.Unchecked
          else:
              raise AssertionError("Please report this bug: commonData: {!r}".format(commonData))
docs: Returns Qt.Checked or Qt.Unchecked if all children are checked or unchecked, else
              returns Qt.PartiallyChecked