PsiElement (@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; }