Add fsm for pattern 'ab,bc,ab'
Test interleavings with events from other traces

disableEventFromOtherTraceDoesNotDisableMatch is failing!
This is bad, since it uncovers a problem with the algorithm ...
Remove check for disabled bindings on creation sets

This is a change in semantics. We simply ignore all events before creation events.

As noted before, events binding >2 parameters do disable other trace slices even when bindings do only partially overlap.
Ignoring events before creation events does just partially fix it, but this is the same solution as JavaMOP chooses.

Example:
fsm.e2.createEvent(b1, c2)); // uses c2, should not disable trace slice for a1b1c1
fsm.e1.createEvent(a1, b1));
fsm.e2.createEvent(b1, c1));
fsm.e3.createEvent(a1, c1));
The first event does not disable trace slice for a1b1c1 (anymore), just because it contains b1!

Now passing:
disableEventFromOtherTraceDoesNotDisableMatch()

Failing:
twoEvents_ab_a_disableSetPreventsCreationOfBothMonitors()
twoEvents_ab_a_noUpdates()
disabling_bc_ab_noMonitorsAreCreated()
disabling_bc_ab_noNodesAreCreated()

The failing tests have to changed to reflect the new semantics.

We still can't process properties like (JavaMOP-notation):

import java.io.*;
import java.util.*;

X(A a, B b, C c, D d) {

	event callAB before(A a, B b) : call(* A.fa(b)) && target(a) {}
	event callBC before(B b, C c) : call(* B.fb(c)) && target(b) {}
	event callCD before(C c, D d) : call(* C.fc(d)) && target(c) {}
	event callDE before(A a, D d) : call(* A.fd(d)) && target(a) {}

	ere : callAB callBC callCD callAD

	@match { System.out.println("Some message"); }
}
Adjust test expectations to new semantics

Events from initially dead transitions do not disable bindings
Add FSM_ab_bc_cd_ad with test and notes

See TODO and notes