@Override
  public void apply(Editor editor, AbstractBasicJavaSmartEnterProcessor processor, @NotNull ASTNode astNode) throws IncorrectOperationException {
    if (!(BasicJavaAstTreeUtil.is(astNode, BASIC_IF_STATEMENT))) return;

    final Document doc = editor.getDocument();
    final ASTNode elseElement = BasicJavaAstTreeUtil.getElseElement(astNode);
    if (elseElement != null) {
      handleBranch(doc, astNode, elseElement, BasicJavaAstTreeUtil.getElseBranch(astNode));
    }

    ASTNode rParenth = BasicJavaAstTreeUtil.getRParenth(astNode);
    assert rParenth != null;
    handleBranch(doc, astNode, rParenth, BasicJavaAstTreeUtil.getThenBranch(astNode));
  }
@Override
  public void apply(Editor editor, AbstractBasicJavaSmartEnterProcessor processor, @NotNull ASTNode astNode)