TextRange (@NotNull PsiCodeBlock block) { PsiElement first = block.getFirstBodyElement(); if (first instanceof PsiWhiteSpace) { first = first.getNextSibling(); } if (first == null) { int offset = block.getTextRange().getStartOffset() + 1; return new TextRange(offset, offset); } PsiJavaToken rBrace = block.getRBrace(); if (rBrace == null) { throw new IncorrectOperationException("Malformed block"); } PsiElement last = rBrace.getPrevSibling(); if (last instanceof PsiWhiteSpace) { last = last.getPrevSibling(); } final int startOffset = first.getTextRange().getStartOffset(); final int endOffset = last.getTextRange().getEndOffset(); return startOffset <= endOffset ? new TextRange(startOffset, endOffset) : new TextRange(startOffset, startOffset); }