private static TextRange getFixedTextRange(
     @NotNull DocumentWindow documentWindow, int startOffset) {
   final TextRange fixedTextRange;
   TextRange textRange = documentWindow.getHostRange(startOffset);
   if (textRange == null) {
     // todo[cdr] check this fix. prefix/suffix code annotation case
     textRange = findNearestTextRange(documentWindow, startOffset);
     final boolean isBefore = startOffset < textRange.getStartOffset();
     fixedTextRange =
         new ProperTextRange(
             isBefore ? textRange.getStartOffset() - 1 : textRange.getEndOffset(),
             isBefore ? textRange.getStartOffset() : textRange.getEndOffset() + 1);
   } else {
     fixedTextRange = null;
   }
   return fixedTextRange;
 }