assert op.oldIndex == index() || index() == -1;
referencedObjectId = op.referencedObjectId;
index = op.newIndex;
canBeDeleted = op.canBeDeleted;
if (op.oldIndex != -1 && op.oldIndex != op.newIndex) {
ReferenceShiftedEvent event =
new ReferenceShiftedEventImpl(event(sessionId, userId).set("oldIndex", op.oldIndex).set(
"newIndex", op.newIndex));
fireEvent(event);
}
}