public void mixNames(@NotNull Collection<? extends DataNode<LibraryData>> libraries) {
    if (libraries.isEmpty()) {
      return;
    }
    Map<String, Wrapped> names = new HashMap<>();
    List<Wrapped> data = new ArrayList<>();
    for (DataNode<LibraryData> library : libraries) {
      Wrapped wrapped = new Wrapped(library.getData());
      data.add(wrapped);
    }
    boolean mixed = false;
    while (!mixed) {
      mixed = doMixNames(data, names);
    }
  }
public void mixNames(@NotNull Collection<? extends DataNode<LibraryData>> libraries)