public static void moveAllMembers(
    @NotNull final Collection<? extends PyMemberInfo<PyElement>> memberInfos,
    @NotNull final PyClass from,
    final PyClass @NotNull ... to
  ) {
    List<PyMemberInfo<PyElement>> memberInfosSorted = new ArrayList<>(memberInfos);


    memberInfosSorted.sort((o1, o2) -> PyDependenciesComparator.INSTANCE.compareAndStoreDependency(o1.getElementToStoreDependency(),
                                                                                                   o2.getElementToStoreDependency()));

    for (PyMemberInfo<PyElement> info : memberInfosSorted) {
      TypeSafeMovingStrategy.moveCheckingTypesAtRunTime(from, info.getMembersManager(), Collections.singleton(info), to);
    }

    PyDependenciesComparator.clearDependencyInfo(ContainerUtil.map(memberInfos, o -> o.getElementToStoreDependency()));
  }
public static void moveAllMembers(
    @NotNull final Collection<? extends PyMemberInfo<PyElement>> memberInfos,
    @NotNull final PyClass from,
    final PyClass @NotNull ... to
  )