void (@NotNull Editor editor, @NotNull GroovySmartEnterProcessor processor, @NotNull PsiElement psiElement) { if (!(psiElement instanceof GrIfStatement ifStatement)) return; final Document document = editor.getDocument(); final GrStatement elseBranch = ifStatement.getElseBranch(); final PsiElement elseElement = ifStatement.getElseKeyword(); if (elseElement != null && (elseBranch == null || !(elseBranch instanceof GrBlockStatement) && GrForBodyFixer.startLine(editor.getDocument(), elseBranch) > GrForBodyFixer.startLine(editor.getDocument(), elseElement))) { document.insertString(elseElement.getTextRange().getEndOffset(), "{}"); } GrStatement thenBranch = ifStatement.getThenBranch(); if (thenBranch instanceof GrBlockStatement) return; boolean transformingOneLiner = false; if (thenBranch != null && GrForBodyFixer.startLine(editor.getDocument(), thenBranch) == GrForBodyFixer.startLine(editor.getDocument(), ifStatement)) { if (ifStatement.getCondition() != null) { return; } transformingOneLiner = true; } final PsiElement rParenth = ifStatement.getRParenth(); if (rParenth == null) return; if (elseBranch == null && !transformingOneLiner || thenBranch == null) { document.insertString(rParenth.getTextRange().getEndOffset(), "{}"); } else { document.insertString(rParenth.getTextRange().getEndOffset(), "{"); document.insertString(thenBranch.getTextRange().getEndOffset() + 1, "}"); } }