ProjectionViewer projectionViewer= (ProjectionViewer) getSourceViewer();  fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors()); fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); fProjectionSupport.setHoverControlCreator(new IInformationControlCreator() { public IInformationControl createInformationControl(Shell shell) { return new CustomSourceInformationControl(shell, IDocument.DEFAULT_CONTENT_TYPE); } }); fProjectionSupport.install();  fProjectionModelUpdater= JavaPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider(); if (fProjectionModelUpdater != null) fProjectionModelUpdater.install(this, projectionViewer);  if (isFoldingEnabled()) projectionViewer.doOperation(ProjectionViewer.TOGGLE);
	public void createPartControl(Composite parent) {		super.createPartControl(parent);		ProjectionViewer projectionViewer= (ProjectionViewer) getSourceViewer();		fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors());		fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$NON-NLS-1$		fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); //$NON-NLS-1$		fProjectionSupport.setHoverControlCreator(new IInformationControlCreator() {			public IInformationControl createInformationControl(Shell shell) {				return new CustomSourceInformationControl(shell, IDocument.DEFAULT_CONTENT_TYPE);			}		});		fProjectionSupport.install();		fProjectionModelUpdater= JavaPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider();		if (fProjectionModelUpdater != null)			fProjectionModelUpdater.install(this, projectionViewer);		if (isFoldingEnabled())			projectionViewer.doOperation(ProjectionViewer.TOGGLE);		IInformationControlCreator informationControlCreator= new IInformationControlCreator() {			public IInformationControl createInformationControl(Shell shell) {				boolean cutDown= false;				int style= cutDown ? SWT.NONE : (SWT.V_SCROLL | SWT.H_SCROLL);				return new DefaultInformationControl(shell, SWT.RESIZE | SWT.TOOL, style, new HTMLTextPresenter(cutDown));			}		};		fInformationPresenter= new InformationPresenter(informationControlCreator);		fInformationPresenter.setSizeConstraints(60, 10, true, true);		fInformationPresenter.install(getSourceViewer());		fEditorSelectionChangedListener= new EditorSelectionChangedListener();		fEditorSelectionChangedListener.install(getSelectionProvider());		if (fMarkOccurrenceAnnotations)			installOccurrencesFinder();		if (isSemanticHighlightingEnabled())			installSemanticHighlighting();		PlatformUI.getWorkbench().addWindowListener(fActivationListener);	}