@Override
    public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
        // Create a presentation reconciler to handle handle document changes.
        PresentationReconciler reconciler = new PresentationReconciler();
        String docPartitioning = getConfiguredDocumentPartitioning(sourceViewer);
        reconciler.setDocumentPartitioning(docPartitioning);

        // Add a "damager-repairer" for changes in default text (SQL code).
        addContentTypeDamageRepairer(reconciler, IDocument.DEFAULT_CONTENT_TYPE);
        
        // rule for multiline comments
        // We just need a scanner that does nothing but returns a token with
        // the corresponding text attributes
        addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_MULTILINE_COMMENT, ThemeConstants.SQL_EDITOR_COLOR_COMMENT);
        // Add a "damager-repairer" for changes within one-line SQL comments.
        addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_COMMENT, ThemeConstants.SQL_EDITOR_COLOR_COMMENT);
        SQLEditorBase sqlEditor = this.getSQLEditor();
        if (SQLEditorUtils.isSQLSyntaxParserApplied(sqlEditor.getEditorInput())) {
            // Add a "damager-repairer" for changes within string literals.
            addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_STRING);
            if (sqlEditor.isAdvancedHighlightingEnabled()) {
                // Add a "damager-repairer" for changes within quoted literals.
                addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_QUOTED);
            } else {
                // Add a "damager-repairer" for changes within quoted literals.
                addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_QUOTED, ThemeConstants.SQL_EDITOR_COLOR_DATATYPE);
            }
        } else {
            // Add a "damager-repairer" for changes within string literals.
            addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_STRING, ThemeConstants.SQL_EDITOR_COLOR_STRING);
            // Add a "damager-repairer" for changes within quoted literals.
            addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_QUOTED, ThemeConstants.SQL_EDITOR_COLOR_DATATYPE);
        }
        // Add a "damager-repairer" for changes within control commands.
        addContentTypeDamageRepairer(reconciler, SQLParserPartitions.CONTENT_TYPE_SQL_CONTROL);

        return reconciler;
    }
Creates, configures, and returns a presentation reconciler to help with
document changes.

@see org.eclipse.jface.text.source.SourceViewerConfiguration#getPresentationReconciler(ISourceViewer)
plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorSourceViewerConfiguration.java