Bug 125418 [Field Assist] - API - Should ContentProposalPopup be public?
In the initial release of the field assist API, the ContentProposalPopup is public. There's really no reason for this to be the case, as the popup is driven by the ContentProposalAdapter. The ContentProposalPopup should likely be made an inner type of the adapter.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ContentProposalPopup.java
getShell().setBounds(
					new Rectangle(parentBounds.x + parentBounds.width
							+ PopupDialog.POPUP_HORIZONTALSPACING,
							parentBounds.y + PopupDialog.POPUP_VERTICALSPACING,
							parentBounds.width, parentBounds.height));
		}
		/*
		 * Set the text contents of the popup.
		 */
		void setContents(String newContents) {
			if (newContents == null)
				newContents = EMPTY;
			this.contents = newContents;
			if (text != null && !text.isDisposed()) {
				text.setText(contents);
			}
		}
	}
	/*
	 * The adapter on the target control.
	 */
	private ContentProposalAdapter adapter;
	/*
	 * The listener installed on the target control.
	 */
	private Listener controlListener;
	/*
	 * The control on which we are proposing content.
	 */
	private Control control;