Bug 128070 [implementation] Check usage of CustomSourceInformationControl
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/CustomSourceInformationControl.java
/**
	 * Sets the font for this viewer sustaining selection and scroll position.
	 */
	private void setViewerFont() {
		Font font= JFaceResources.getFont(SYMBOLIC_FONT_NAME);
		if (getViewer().getDocument() != null) {
			Point selection= getViewer().getSelectedRange();
			int topIndex= getViewer().getTopIndex();
			StyledText styledText= getViewer().getTextWidget();
			Control parent= styledText;
			if (getViewer() instanceof ITextViewerExtension) {
				ITextViewerExtension extension= (ITextViewerExtension) getViewer();
				parent= extension.getControl();
			}
			parent.setRedraw(false);
			styledText.setFont(font);
			getViewer().setSelectedRange(selection.x , selection.y);
			getViewer().setTopIndex(topIndex);
			if (parent instanceof Composite) {
				Composite composite= (Composite) parent;
				composite.layout(true);
			}
			parent.setRedraw(true);
		} else {
			StyledText styledText= getViewer().getTextWidget();
			styledText.setFont(font);
		}
	}
	/**
	 * Sets the initial partition for the underlying source viewer.