private <W extends Widget & HasDoubleClickHandlers> void verifyEventSinkOnAddHandler( W w, Element e, boolean widgetSinksEventsOnAttach) { RootPanel.get().add(w); if (widgetSinksEventsOnAttach) { assertTrue( "Event should have been sunk on " + w.getClass().getName() + " once the widget has been attached", isDoubleClickEventSunk(e)); } else { assertFalse( "Event should not be sunk on " + w.getClass().getName() + " until a " + DoubleClickEvent.getType().getName() + " handler has been added", isDoubleClickEventSunk(e)); } w.addDoubleClickHandler( new DoubleClickHandler() { public void onDoubleClick(DoubleClickEvent event) {} }); assertTrue( "Event should have been sunk on " + w.getClass().getName() + " once the widget has been attached and a " + DoubleClickEvent.getType().getName() + " handler has been added", isDoubleClickEventSunk(e)); }