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
hideHover();
				}
			});
		}
		/*
		 * Compute a polygon that represents a hover with an arrow pointer. If
		 * border is true, compute the polygon inset by 1-pixel border. Consult
		 * the arrowOnLeft flag to determine which side the arrow is on.
		 */
		int[] getPolygon(boolean border) {
			Point e = getExtent();
			int b = border ? 1 : 0;
			if (arrowOnLeft) {
				return new int[] { 0, 0, e.x - b, 0, e.x - b, e.y - b,
						hao + haw, e.y - b, hao + haw / 2, e.y + hah - b, hao,
						e.y - b, 0, e.y - b, 0, 0 };
			}
			return new int[] { 0, 0, e.x - b, 0, e.x - b, e.y - b,
					e.x - hao - b, e.y - b, e.x - hao - haw / 2, e.y + hah - b,
					e.x - hao - haw, e.y - b, 0, e.y - b, 0, 0 };
		}
		/*
		 * Dispose the hover, it is no longer needed. Dispose any resources
		 * allocated by the hover.
		 */
		void dispose() {
			if (!hoverShell.isDisposed()) {
				hoverShell.dispose();
			}
			if (region != null) {