@Override
    public boolean exposeModelRange(@NotNull IRegion modelRange) {
        if (isProjectionMode()) {
            // Underlying default implementation was
            //     return projectionAnnotationModel.expandAll(modelRange.getOffset(), modelRange.getLength());
            // , which is wrong because we don't want to expand annotations completely covered by the given range.
            // We only want to expand annotations preventing the user from observation of the given range boundaries,
            // so get the annotations intersecting range start end range end positions, and then expand them.
            
            ProjectionAnnotationModel projectionAnnotationModel = this.getProjectionAnnotationModel();
            
            boolean a = this.expandAnnotationsContaining(projectionAnnotationModel, modelRange.getOffset());
            boolean b = this.expandAnnotationsContaining(projectionAnnotationModel, modelRange.getOffset() + modelRange.getLength());
            boolean expanded = a | b;
            if (expanded) {
                projectionAnnotationModel.modifyAnnotations(null, null, null);
            }
            
            return expanded;
        }

        if (!overlapsWithVisibleRegion(modelRange.getOffset(), modelRange.getLength())) {
            resetVisibleRegion();
            return true;
        }

        return false;
    }
Creates an instance of this class with the given parameters.

@param parent the SWT parent control
@param ruler the vertical ruler (annotation area)
@param overviewRuler the overview ruler
@param showsAnnotationOverview <code>true</code> if the overview ruler should be shown
@param styles the SWT style bits
plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorSourceViewer.java