public @NotNull PsiElement replaceAndRestoreComments(@NotNull PsiElement element, @NotNull PsiElement replacement) {
    List<PsiElement> suffix = grabSuffixComments(element);
    PsiElement result = replace(element, replacement);
    PsiElement anchor = findAnchor(result);
    restoreSuffixComments(result, suffix);
    insertCommentsBefore(anchor);
    return result;
  }
public @NotNull PsiElement replaceAndRestoreComments(@NotNull PsiElement element, @NotNull PsiElement replacement)