fCurrentTarget.fAnnotationModel.removeAllAnnotations(); if (viewer instanceof ISourceViewer) { ISourceViewer sv= (ISourceViewer) viewer; IAnnotationModel model= sv.getAnnotationModel(); if (model instanceof IAnnotationModelExtension) { IAnnotationModelExtension ext= (IAnnotationModelExtension) model; ext.removeAnnotationModel(getUniqueKey()); } }
	private void disconnect() {		Assert.isNotNull(fCurrentTarget);		ITextViewer viewer= fCurrentTarget.getViewer();		Assert.isNotNull(viewer);		fAssistant.uninstall();		StyledText text= fCurrentTarget.fWidget;		fCurrentTarget.fWidget= null;				Shell shell= fCurrentTarget.fShell;		fCurrentTarget.fShell= null;				if (shell != null && !shell.isDisposed())			shell.removeShellListener(fCloser);				if (text != null && !text.isDisposed()) {			text.removeModifyListener(fCaretListener);			text.removeVerifyListener(fCaretListener);		}		// don't remove the verify key listener to let it keep its position		// in the listener queue		fCurrentTarget.fKeyListener.setEnabled(false);		fCurrentTarget.fAnnotationModel.removeAllAnnotations();		if (viewer instanceof ISourceViewer) {			ISourceViewer sv= (ISourceViewer) viewer;			IAnnotationModel model= sv.getAnnotationModel();			if (model instanceof IAnnotationModelExtension) {				IAnnotationModelExtension ext= (IAnnotationModelExtension) model;				ext.removeAnnotationModel(getUniqueKey());			}		}				((IPostSelectionProvider) viewer).removePostSelectionChangedListener(fSelectionListener);		redraw();	}