Bug 163360 [Field Assist] - API - Provide ControlDecoration constructor without specifying decoration
Currently you can only create a ControlDecoration by specifying the control and the decoration in the constructor. This works nicely when the decoration is static (ie, always content assist). But there are use cases where the decoration changes depending on the state of the field, and at creation time, it's not clear which decoration will be set. Having a constructor that doesn't require a decoration would be nice.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ControlDecoration.java
/**
		 * The region used to manage the shell shape
		 */
		Region region;
		/**
		 * Boolean indicating whether the last computed polygon location had an
		 * arrow on left. (true if left, false if right).
		 */
		boolean arrowOnLeft = true;
		/*
		 * Create a hover parented by the specified shell.
		 */
		Hover(Shell parent) {
			final Display display = parent.getDisplay();
			hoverShell = new Shell(parent, SWT.NO_TRIM | SWT.ON_TOP
					| SWT.NO_FOCUS);
			hoverShell.setBackground(display
					.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
			hoverShell.setForeground(display
					.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
			hoverShell.addPaintListener(new PaintListener() {
				public void paintControl(PaintEvent pe) {
					pe.gc.drawString(text, hm, hm);
					if (!CARBON) {
						pe.gc.drawPolygon(getPolygon(true));
					}
				}
			});
			hoverShell.addMouseListener(new MouseAdapter() {
				public void mouseDown(MouseEvent e) {