in dnq-transient-store/src/main/kotlin/com/jetbrains/teamsys/dnq/database/TransientEntityImpl.kt [274:287]
override fun hasChangesExcepting(properties: Array<String>): Boolean {
val session = threadSessionOrThrow
val changedLinks = session.transientChangesTracker.getChangedLinksDetailed(this).orEmpty()
val changedProperties = session.transientChangesTracker.getChangedProperties(this).orEmpty()
return if (changedLinks.isEmpty() && changedProperties.isEmpty()) {
false
} else {
// all properties have to be changed
val exceptedChanges = properties.count { it in changedLinks || it in changedProperties }
val totalChanges = changedLinks.size + changedProperties.size
totalChanges > exceptedChanges
}
}