### Question:
FilterList extends TransformedList<E,E> { @Override public final int size() { return flagList.blackSize(); } FilterList(EventList<E> source);  FilterList(EventList<E> source, Matcher<? super E> matcher);  FilterList(EventList<E> source, MatcherEditor<? super E> matcherEditor); void setMatcher(Matcher<? super E> matcher); void setMatcherEditor(MatcherEditor<? super E> editor); @Override void dispose(); @Override final void listChanged(ListEvent<E> listChanges); @Override final int size();  }### Answer:
@Test public void testMatchAllOrNothing() { EventList<Integer> baseList = new BasicEventList<>(); baseList.add(new Integer(1)); baseList.add(new Integer(2)); baseList.add(new Integer(3)); baseList.add(new Integer(4)); baseList.add(new Integer(5)); AllOrNothingMatcherEditor matcher = new AllOrNothingMatcherEditor(); FilterList<Integer> filterList = new FilterList<>(baseList,matcher); ListConsistencyListener<Integer> listConsistencyListener = ListConsistencyListener.install(filterList); listConsistencyListener.setPreviousElementTracked(true); assertEquals(5, filterList.size()); matcher.showAll(false); assertEquals(0, filterList.size()); matcher.showAll(false); assertEquals(0, filterList.size()); matcher.showAll(true); assertEquals(5, filterList.size()); matcher.showAll(true); assertEquals(5, filterList.size()); }