def METHOD_NAME(self, event):
    items = []
    for item in self.scene().items(event.scenePos()):
        if isinstance(item, GraphicsItem) and item != self and item.acceptDrops():
            items.append(item)
    item = None if len(items) == 0 else items[0]
    if self.item_under_mouse and self.item_under_mouse != item:
        self.item_under_mouse.dragLeaveEvent(None)
        self.item_under_mouse = None
        if item:
            self.item_under_mouse = item
            self.item_under_mouse.dragEnterEvent(None)
    elif self.item_under_mouse and self.item_under_mouse == item:
        self.item_under_mouse.update_drop_indicator(self.mapToItem(self.item_under_mouse, event.pos()))
    elif item:
        self.item_under_mouse = item
        self.item_under_mouse.dragEnterEvent(None)
    super().METHOD_NAME(event)