@Test
public void filtersSubsequentAlternativeViolations() {

    TestAUGBuilder commonPart = buildAUG().withActionNode("m()");
    Violation violation1 = someViolation(buildOverlap(extend(commonPart).withActionNode("n()")).withNodes("m()", "n()"));
    Violation violation2 = someViolation(buildOverlap(extend(commonPart).withActionNode("f()")).withNodes("m()", "f()"));
    Violation violation3 = someViolation(buildOverlap(extend(commonPart).withActionNode("x()")).withNodes("m()", "x()"));
    assertThat(Stream.of(violation1, violation2, violation3).filter(firstAlternativeViolation()).count(), is(1L));
}