boolean (@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file, @NotNull FileType fileType) { if (!(fileType instanceof JavaFileType)) return false; int offset = editor.getCaretModel().getOffset(); if (offset == editor.getDocument().getTextLength()) return false; if (moveSemicolonAtRParen(project, editor, file, offset)) return true; char charAt = editor.getDocument().getCharsSequence().charAt(offset); if (charAt != ';') return false; HighlighterIterator hi = editor.getHighlighter().createIterator(offset); if (hi.atEnd() || hi.getTokenType() != JavaTokenType.SEMICOLON) return false; EditorModificationUtil.moveCaretRelatively(editor, 1); return true; }