void (final PsiElement atCaret, final Editor editor) { if (myFirstErrorOffset != Integer.MAX_VALUE) { editor.getCaretModel().moveToOffset(myFirstErrorOffset); return; } commit(editor); for (EnterProcessor enterProcessor : ourProcessors) { if (enterProcessor.doEnter(editor, atCaret, isModified(editor))) { return; } } if (!isModified(editor)) { SmartEnterUtil.plainEnter(editor); } else { if (myFirstErrorOffset == Integer.MAX_VALUE) { editor.getCaretModel().moveToOffset(atCaret.getTextRange().getEndOffset()); } else { editor.getCaretModel().moveToOffset(myFirstErrorOffset); } } }