Bug 64855 QuickMenuAction leaks the context menus
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/QuickMenuAction.java
switch (items.length) {
			case 0:
				return null;
			case 1:
				Rectangle bounds= items[0].getBounds();
				Rectangle intersect= clientArea.intersection(bounds);
				if (intersect != null && intersect.height == bounds.height) {
					return new Point(
						Math.max(0, bounds.x + getAvarageCharWith(tree) * CHAR_INDENT), 
						bounds.y + bounds.height);
				} else {
					return null;
				}
			default:
				Rectangle[] rectangles= new Rectangle[items.length];
				for (int i= 0; i < rectangles.length; i++) {
					rectangles[i]= items[i].getBounds();
				}
				Point cursorLocation= tree.getDisplay().getCursorLocation();
				Point result= findBestLocation(getIncludedPositions(rectangles, clientArea), 
					tree.toControl(cursorLocation));
				if (result != null)
					result.x= result.x + getAvarageCharWith(tree) * CHAR_INDENT;
				return result;
		}
	}
	
	/**
	 * Hook to compute the menu location if the focus widget is
	 * a table widget.