void (@NotNull Editor editor, @NotNull GroovySmartEnterProcessor processor, @NotNull PsiElement psiElement) { if (psiElement instanceof GrIfStatement ifStatement) { final Document doc = editor.getDocument(); final PsiElement rParen = ifStatement.getRParenth(); final PsiElement lParen = ifStatement.getLParenth(); final GrExpression condition = ifStatement.getCondition(); if (condition == null) { if (lParen == null || rParen == null) { int stopOffset = doc.getLineEndOffset(doc.getLineNumber(ifStatement.getTextRange().getStartOffset())); final GrStatement then = ifStatement.getThenBranch(); if (then != null) { stopOffset = Math.min(stopOffset, then.getTextRange().getStartOffset()); } stopOffset = Math.min(stopOffset, ifStatement.getTextRange().getEndOffset()); doc.replaceString(ifStatement.getTextRange().getStartOffset(), stopOffset, "if ()"); processor.registerUnresolvedError(ifStatement.getTextRange().getStartOffset() + "if (".length()); } else { processor.registerUnresolvedError(lParen.getTextRange().getEndOffset()); } } else if (rParen == null) { doc.insertString(condition.getTextRange().getEndOffset(), ")"); } } }