void (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 }