if (fDocumentListener != null) { IDocument document= fViewer.getDocument(); if (document != null) document.removeDocumentListener(fDocumentListener); fDocumentListener= null; } fDocumentEvents.clear();  StyledText styledText= fViewer.getTextWidget(); if (fKeyListener != null && styledText != null && !styledText.isDisposed()) styledText.removeKeyListener(fKeyListener);  if (Helper2.okToUse(fProposalTable)) { ICompletionProposal proposal= getSelectedProposal(); if (proposal instanceof ICompletionProposalExtension2) { ICompletionProposalExtension2 extension= (ICompletionProposalExtension2) proposal; extension.unselected(fViewer); } }
unregister();
	public void hide() {		if (fDocumentListener != null) {			IDocument document= fViewer.getDocument();			if (document != null)				document.removeDocumentListener(fDocumentListener);			fDocumentListener= null;		}		fDocumentEvents.clear();				StyledText styledText= fViewer.getTextWidget();		if (fKeyListener != null && styledText != null && !styledText.isDisposed())			styledText.removeKeyListener(fKeyListener);		if (Helper2.okToUse(fProposalTable)) {			ICompletionProposal proposal= getSelectedProposal();			if (proposal instanceof ICompletionProposalExtension2) {				ICompletionProposalExtension2 extension= (ICompletionProposalExtension2) proposal;				extension.unselected(fViewer);			}		}		if (Helper2.okToUse(fProposalShell)) {			fContentAssistant.removeContentAssistListener(this, ContentAssistant2.PROPOSAL_SELECTOR);						fPopupCloser.uninstall();			fProposalShell.setVisible(false);			fProposalShell.dispose();			fProposalShell= null;		}				if (fAdditionalInfoController != null) {			fAdditionalInfoController.dispose();		}				fFilteredProposals= null;				fContentAssistant.possibleCompletionsClosed();	}