AbstractProgressEvent implements ProgressEvent { @Override public boolean matches(Object otherEvent) { return otherEvent.getClass() == getClass(); }  @Override boolean matches(Object otherEvent);  }
@Test void matches() { TestableProgressEvent event = new TestableProgressEvent(); assertTrue(event.matches(new TestableProgressEvent())); assertFalse(event.matches(new String("whatever"))); }