@Override
  public void checkTargetClassConflicts(@Nullable PsiElement targetClass,
                                        PushDownData<MemberInfo, PsiMember> pushDownData,
                                        MultiMap<PsiElement, @DialogMessage String> conflicts,
                                        NewSubClassData subClassData) {
    List<MemberInfo> toMove = pushDownData.getMembersToMove();
    PsiElement context = targetClass;
    if (context == null) {
      assert subClassData != null;
      Object newClassContext = subClassData.getContext();
      if (newClassContext instanceof PsiElement) {
        context = (PsiElement)newClassContext;
      }
    }
    if (targetClass instanceof PsiAnonymousClass &&
        toMove.stream().map(MemberInfoBase::getOverrides).anyMatch(Objects::nonNull)) {
      conflicts.putValue(targetClass, JavaBundle.message("push.down.anonymous.conflict"));
    }
    new PushDownConflicts((PsiClass)pushDownData.getSourceClass(), toMove.toArray(new MemberInfo[0]), conflicts)
      .checkTargetClassConflicts(targetClass, context);
  }
@Override
  public void checkTargetClassConflicts(@Nullable PsiElement targetClass,
                                        PushDownData<MemberInfo, PsiMember> pushDownData,
                                        MultiMap<PsiElement, @DialogMessage String> conflicts,
                                        NewSubClassData subClassData)