void (@NotNull PsiElement methodOrClass, @Nullable PsiTypeParameterList typeParameterList, @NotNull PsiTypeParameterList newTypeParameterList) { if (methodOrClass instanceof PsiMethod method) { if (typeParameterList == null) { PsiTypeElement returnTypeElement = method.getReturnTypeElement(); if (returnTypeElement == null) return; method.addBefore(newTypeParameterList, returnTypeElement); } else { typeParameterList.replace(newTypeParameterList); } } else { PsiClass aClass = (PsiClass)methodOrClass; if (typeParameterList == null) { PsiIdentifier nameIdentifier = aClass.getNameIdentifier(); if (nameIdentifier == null) return; aClass.addAfter(newTypeParameterList, nameIdentifier); } else { typeParameterList.replace(newTypeParameterList); } } }