18
Case 2: Overlap
Subcase 1:
P’s run has no label yet
|///////|       |/////|
     |/////////////|
Subcase 2:
P’s run has a label that is
different from Q’s run
|///////|       |/////|
     |/////////////|
Q
Q
P
P
label(P) <- label(Q)
move pointer(s)
union(label(P),label(Q))
move pointer(s)
}