@Override
    public void check(Collection<? extends T> collection, ConditionEvents events) {
        ViolatedAndSatisfiedConditionEvents subEvents = new ViolatedAndSatisfiedConditionEvents();
        for (T element : collection) {
            condition.check(element, subEvents);
        }
        if (!subEvents.getAllowed().isEmpty() || !subEvents.getViolating().isEmpty()) {
            events.add(new AnyConditionEvent(collection, subEvents));
        }
    }
@Test
    public void if_there_are_no_input_events_no_ContainsAnyEvent_is_added() {
        ViolatedAndSatisfiedConditionEvents events = new ViolatedAndSatisfiedConditionEvents();
        containOnlyElementsThat(IS_SERIALIZABLE).check(emptyList(), events);
        assertThat(events.getAllowed()).as("allowed events").isEmpty();
        assertThat(events.getViolating()).as("violated events").isEmpty();
    }