void (MultiMap<PsiElement, @DialogMessage String> conflicts) { final PushDownConflicts pushDownConflicts = new PushDownConflicts(mySuperClass, myMemberInfos, conflicts); for (PsiClass targetClass : myTargetClasses) { if (targetClass instanceof PsiAnonymousClass) { conflicts.putValue(targetClass, JavaRefactoringBundle.message("inline.super.no.anonymous.class")); } else if (PsiTreeUtil.isAncestor(mySuperClass, targetClass, false)) { conflicts.putValue(targetClass, JavaRefactoringBundle.message("inline.super.no.inner.class", targetClass.getName())); } else if (!targetClass.getLanguage().isKindOf(JavaLanguage.INSTANCE)) { conflicts.putValue(targetClass, JavaRefactoringBundle.message("inline.superclass.foreign.language.conflict.message", targetClass.getLanguage().getDisplayName())); } else { for (MemberInfo info : myMemberInfos) { final PsiMember member = info.getMember(); pushDownConflicts.checkMemberPlacementInTargetClassConflict(targetClass, member); if (myCurrentInheritor == null) { //superclass to be removed Set<PsiMember> movedMembers = new HashSet<>(pushDownConflicts.getMovedMembers()); movedMembers.addAll(Arrays.asList(mySuperClass.getConstructors())); RefactoringConflictsUtil.getInstance() .analyzeAccessibilityConflictsAfterMemberMove(movedMembers, targetClass, null, targetClass, pushDownConflicts.getAbstractMembers(), Conditions.alwaysTrue(), conflicts ); } } } } if (myCurrentInheritor != null) { ReferencesSearch.search(myCurrentInheritor).forEach(reference -> { final PsiElement element = reference.getElement(); final PsiElement parent = element.getParent(); if (parent instanceof PsiNewExpression) { final PsiClass aClass = PsiUtil.resolveClassInType(getPlaceExpectedType(parent)); if (aClass == mySuperClass) { conflicts.putValue(parent, JavaRefactoringBundle.message("inline.super.target.instead.of.super.class")); return false; } } return true; }); } }