def METHOD_NAME(
    self, top_left: QModelIndex, bottom_right: QModelIndex, roles: typing.List[int]
):
    if top_left.internalPointer() is None:
        return
    if not top_left.data(IsRealizationRole):
        return
    proxy_top_left = self.mapFromSource(top_left)
    proxy_bottom_right = self.mapFromSource(bottom_right)
    if not proxy_top_left.isValid() or not proxy_bottom_right.isValid():
        return
    self.dataChanged.emit(proxy_top_left, proxy_bottom_right, roles)