@Override
  public boolean doEnter(@NotNull Editor editor, @NotNull ASTNode astNode, boolean isModified) {
    PsiElement psiElement = BasicJavaAstTreeUtil.toPsi(astNode);
    if (isModified || psiElement == null) return false;
    final PsiElement atCaret = psiElement.getContainingFile().findElementAt(editor.getCaretModel().getOffset());
    if (atCaret == null) return false;
    final ASTNode comment = BasicJavaAstTreeUtil.getParentOfType(atCaret.getNode(), myCommentTypes, false);
    if (comment != null) {
      plainEnter(editor);
      if (BasicJavaAstTreeUtil.is(comment, JavaTokenType.END_OF_LINE_COMMENT)) {
        EditorModificationUtilEx.insertStringAtCaret(editor, "// ");
      }
      return true;
    }
    return false;
  }
@Override
  public boolean doEnter(@NotNull Editor editor, @NotNull ASTNode astNode, boolean isModified)