Event.setEventListener(parent, new EventListener() {
@Override
public void onBrowserEvent(Event event) {
try {
DOM.setEventListener(parent, null);
Context context = new Context(0, 0, DEFAULT_KEY);
cell.onBrowserEvent(context, parent, value, event, valueUpdater);
parent.removeFromParent();
} catch (Exception e) {
// We are in an event loop, so events may not propagate out to JUnit.
fail("An exception occured while handling the event: " + e.getMessage());