private void populateRelationshipPropertyEvents(
     PrimitiveElement element, TransactionDataImpl result) {
   for (long relId : element.relationships.keySet()) {
     CowRelElement relElement = element.relationships.get(relId);
     RelationshipProxy rel = nodeManager.newRelationshipProxyById(relId);
     RelationshipImpl relImpl = nodeManager.getRelationshipForProxy(relId);
     if (relElement.isDeleted()) {
       if (primitiveElement.createdRelationships.contains(relId)) {
         continue;
       }
       // note: this is done in node populate data
       // result.deleted( rel );
     }
     if (relElement.propertyAddMap != null && !relElement.isDeleted()) {
       for (DefinedProperty data : relElement.propertyAddMap.values()) {
         String key = nodeManager.getKeyForProperty(data);
         Object oldValue = relImpl.getCommittedPropertyValue(nodeManager, key);
         Object newValue = data.value();
         result.assignedProperty(rel, key, newValue, oldValue);
       }
     }
     if (relElement.propertyRemoveMap != null) {
       for (DefinedProperty data : relElement.propertyRemoveMap.values()) {
         String key = nodeManager.getKeyForProperty(data);
         Object oldValue = data.value();
         if (oldValue != null && !relElement.isDeleted()) {
           relImpl.getCommittedPropertyValue(nodeManager, key);
         }
         result.removedProperty(rel, key, oldValue);
       }
     }
   }
 }