events.add(new JcrPropertyEvent(bundle, Event.PROPERTY_ADDED, stringFor(propertyPath), nodeId, currentValue,
primaryType, mixinTypes));
} else if (nodeChange instanceof PropertyRemoved && eventListenedFor(Event.PROPERTY_REMOVED)) {
// create event for removed property
PropertyRemoved propertyRemoved = (PropertyRemoved)nodeChange;
Name propertyName = propertyRemoved.getProperty().getName();
Path propertyPath = pathFactory().create(newPath, propertyName);
boolean isMultiValue = propertyRemoved.getProperty().isMultiple();
Object currentValue = isMultiValue ? propertyRemoved.getProperty().getValuesAsArray() : propertyRemoved.getProperty()
.getFirstValue();
events.add(new JcrPropertyEvent(bundle, Event.PROPERTY_REMOVED, stringFor(propertyPath), nodeId, currentValue,
primaryType, mixinTypes));
} else if (nodeChange instanceof NodeSequenced && eventListenedFor(NODE_SEQUENCED)) {