int (@NotNull PsiElement element) { if (myDocument == null) { return element.getTextRange().getEndOffset(); } CharSequence text = myDocument.getCharsSequence(); for (PsiElement e = element.getNextSibling(); e != null; e = e.getNextSibling()) { if (e instanceof PsiWhiteSpace) { if (hasLineBreak(text, e.getTextRange())) { return element.getTextRange().getEndOffset(); } } else if (e instanceof PsiComment) { if (!hasLineBreak(text, e.getTextRange())) { return e.getTextRange().getEndOffset(); } } else { return element.getTextRange().getEndOffset(); } } return element.getTextRange().getEndOffset(); }