void (@NotNull Editor editor, @NotNull GroovySmartEnterProcessor processor, @NotNull PsiElement psiElement) { GrSwitchStatement switchStatement = PsiTreeUtil.getParentOfType(psiElement, GrSwitchStatement.class); if (switchStatement == null || switchStatement.getLBrace() != null) return; if (!PsiTreeUtil.isAncestor(switchStatement.getCondition(), psiElement, false)) return; final Document doc = editor.getDocument(); PsiElement lBrace = switchStatement.getLBrace(); if (lBrace != null) return; PsiElement eltToInsertAfter = switchStatement.getRParenth(); String text = "{\n}"; if (eltToInsertAfter == null) { eltToInsertAfter = switchStatement.getCondition(); text = "){\n}"; } doc.insertString(eltToInsertAfter.getTextRange().getEndOffset(), text); }