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
* Return the current selected proposal.
	 */
	private IContentProposal getSelectedProposal() {
		if (isValid()) {
			int i = proposalTable.getSelectionIndex();
			if (proposals == null || i < 0 || i >= proposals.length)
				return null;
			return proposals[i];
		}
		return null;
	}
	/*
	 * Select the proposal at the given index.
	 */
	private void selectProposal(int index) {
		Assert.isTrue(index >= 0, "Proposal index should never be negative"); 
		if (!isValid() || proposals == null || index >= proposals.length)
			return;
		proposalTable.setSelection(index);
		proposalTable.showSelection();
		showProposalDescription(proposals[index].getDescription());
	}
	/**
	 * Opens this ContentProposalPopup. This method is extended in order to add
	 * the control listener when the popup is opened and to invoke the secondary
	 * popup if applicable.
	 * 
	 * @return the return code
	 * 
	 * @see org.eclipse.jface.window.Window#open()