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
* 
	 * @see org.eclipse.jface.dialogs.PopupDialog.adjustBounds()
	 */
	protected void adjustBounds() {
		
		Point location = control.getDisplay().map(control.getParent(), null,
				control.getLocation());
		getShell().setLocation(location.x + 3,
				location.y + control.getSize().y + 3);
	}
	/*
	 * Handle the set data event. Set the item data of the requested item to the
	 * corresponding proposal in the proposal cache.
	 */
	private void handleSetData(Event event) {
		TableItem item = (TableItem) event.item;
		int index = proposalTable.indexOf(item);
		if (0 <= index && index < proposals.length) {
			IContentProposal current = proposals[index];
			item.setText(getString(current));
			item.setImage(getImage(current));
			item.setData(current);
		} else {
			
		}
	}
	/*
	 * Caches the specified proposals and repopulates the table if it has been
	 * created.
	 */