private SceneDeltaItemImpl createSceneDeltaItem(ReferenceDelta delta, SceneImpl owningScene, VisualizationContext context, Task task, OperationResult result) throws SchemaException { SceneDeltaItemImpl di = createSceneDeltaItemCommon(delta, owningScene); di.setOldValues(toSceneItemValuesRef(delta.getEstimatedOldValues(), context, task, result)); PrismReference reference = prismContext.itemFactory().createReference(delta.getElementName()); try { if (delta.getEstimatedOldValues() != null) { reference.addAll(CloneUtil.cloneCollectionMembers(delta.getEstimatedOldValues())); } delta.applyToMatchingPath(reference, ParameterizedEquivalenceStrategy.DEFAULT_FOR_DELTA_APPLICATION); } catch (SchemaException e) { throw new SystemException("Couldn't visualize reference delta: " + delta + ": " + e.getMessage(), e); } computeAddedDeletedUnchangedRef(di, delta.getEstimatedOldValues(), reference.getValues(), context, task, result); di.setNewValues(toSceneItemValuesRef(reference.getValues(), context, task, result)); return di; }