in src/main/java/org/apache/sling/discovery/commons/InstancesDiff.java [247:261]
private Map<String, InstanceDescription> partitionRetained(boolean retainFromNewCollection, boolean propertyChanged) {
Map<String, InstanceDescription> partition = new HashMap<String, InstanceDescription>();
for (Map.Entry<String, InstanceDescription> oldEntry : oldInstances.entrySet()) {
String slingId = oldEntry.getKey();
InstanceDescription newDescription = newInstances.get(slingId);
if(newDescription != null) {
InstanceDescription oldDescription = oldEntry.getValue();
boolean propertiesSame = newDescription.getProperties().equals(oldDescription.getProperties());
if ((propertiesSame && ! propertyChanged) || (! propertiesSame && propertyChanged)) {
partition.put(slingId, retainFromNewCollection ? newDescription : oldDescription);
}
}
}
return partition;
}