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/ContentProposalAdapter.java
* The adapter used to extract the String contents from an arbitrary
	 * control.
	 */
	private IControlContentAdapter controlContentAdapter;
	/*
	 * The popup used to show proposals.
	 */
	private ContentProposalPopup popup;
	/*
	 * The keystroke that signifies content proposals should be shown.
	 */
	private KeyStroke triggerKeyStroke;
	/*
	 * The String containing characters that auto-activate the popup.
	 */
	private String autoActivateString;
	/*
	 * A flag indicating how an accepted proposal should affect the control. One
	 * of PROPOSAL_IGNORE, PROPOSAL_INSERT, or PROPOSAL_REPLACE.
	 */
	private int acceptance;
	/*
	 * A boolean that indicates whether keys events received while the proposal
	 * popup is open should also be propagated to the control.
	 */
	private boolean propagateKeys;
	/*
	 * A boolean that indicates whether proposals should be filtered as keys are
	 * typed when the popup is open.
	 */