protected void onShowContextMenu(int clientX, int clientY) {
contextMenu.showAt(clientX, clientY);
if (contextMenu.isVisible()) {
fireEvent(new ShowContextMenuEvent(contextMenu));
contextMenu.addHideHandler(new HideHandler() {
@Override
public void onHide(HideEvent event) {
ComponentHelper.removeHandler(contextMenu, HideEvent.getType(), this);
onHideContextMenu(event);