An example is always good for understanding (especially in this case):
In this example we have a simple Sequence Diagram with only a few connectors. We change the Sequence Diagrams in both branches "A" and "B"
- "A" gets a new message "New in A()" from Lifeline "Object1:Create Account" to "Object2: Create New Account" after the an existing message "Message 0()" from "User" to "Object1".
- "B" gets a new message two new messages at the same position "New 1 in B()" from Actor "User" to "Object1" at the same position as the change in "A" after the existing message "Message 0and "New 2 in B()" from "Userfrom from Lifeline ":Create Account" to "Object1: Create New Account" .
- LemonTree takes both new messages into account and suggests it for the merge preview
- Because EnterpriseArchitect Enterprise Architect recalculates the position and SeqNo of the other messages following the new ones (in both branches) LemonTree marks these messages as "Conflicted" (Note: LemonTree compares "A" with "Base" and "B" with "Base" and marks the property as conflicted because it has changed in both branches. LemonTree doesn't compare the properties values from "A" to "B")
- LemonTree DOESN'T recalculate the position / SeqNo of the messages (as you may expect) but takes either A or B into the merge result. This leads to the "MergePreviewMerge Preview" where the new messages are on the same level.
Note: The diagram may also look different in EnterpriseArchitect Enterprise Architect than in LemonTree Merge Preview because EnterpriseArchitect Enterprise Architect draws it different. The new connectors are NOT on the same level.