@Override
  protected final void performRefactoring(final UsageInfo @NotNull [] usages) {
    final Collection<PyClass> destinations = new ArrayList<>(usages.length);
    for (final UsageInfo usage : usages) {
      if (!(usage instanceof PyUsageInfo)) {
        throw new IllegalArgumentException("Only PyUsageInfo is accepted here");
      }
      //We collect destination info to pass it to members manager
      destinations.add(((PyUsageInfo)usage).getTo());
    }
    MembersManager.moveAllMembers(myMembersToMove, myFrom, destinations.toArray(PyClass.EMPTY_ARRAY));
    PyClassRefactoringUtil.optimizeImports(myFrom.getContainingFile()); // To remove unneeded imports
  }
@Override
  protected final void performRefactoring(final UsageInfo @NotNull [] usages)