public function onUpdateRunLabelEvents(NodeEvent $event)
    {
        $node = $event->getNode();

        if ($oldLabels = field_get_items('node', $node->original, 'labels')) {
            $oldLabels = array_column($oldLabels, 'tid');
        } else {
            $oldLabels = [];
        }

        if ($currentLabels = field_get_items('node', $node, 'labels')) {
            if (is_array($currentLabels)) {
                $currentLabels = array_column($currentLabels, 'tid');
            }
            else {
                $currentLabels = (array) $currentLabels;
            }
        }

        if ($currentLabels && ($newLabels = array_diff($currentLabels, $oldLabels))) {
            $newEvent = new ResourceEvent('node', $node->nid, $this->currentUser->id());
            $newEvent->setArgument('new_labels', $newLabels);
            $this->dispatcher->dispatch('node:new_labels', $newEvent);
        }
    }