if (state instanceof Node) {
Node node = (Node) state;
Set<String> oldLabels = getLabels(node);
for (String newLabel : (Iterable<String>) newVal) {
if (oldLabels.remove(newLabel)) continue;
node.addLabel(DynamicLabel.label(newLabel));
}
for (String removedLabels : oldLabels) {
node.removeLabel(DynamicLabel.label(removedLabels));
}
return doReturn(newVal);