PsiElement (@NotNull final Editor editor, final PsiFile file) { final int offset = fixCaretOffset(editor); PsiElement element = file.findElementAt(offset); if (element == null && offset == file.getTextLength()) { element = file.findElementAt(offset - 1); } if (element instanceof PsiWhiteSpace) { element = file.findElementAt(element.getTextRange().getStartOffset() - 1); } return element; }