public static ChangeDiffRequestChain createDiffRequestChain(@Nullable Project project,
                                                              @NotNull Label before,
                                                              @NotNull Label after,
                                                              @NotNull Iterable<? extends Pair<FilePath, FileStatus>> iterable,
                                                              @Nullable FilePath selectedPath) {
    List<MyDiffRequestProducer> requests = new ArrayList<>();
    int selected = -1;
    for (Pair<FilePath, FileStatus> pair : iterable) {
      if (selected == -1 && pair.first.equals(selectedPath)) selected = requests.size();
      requests.add(new MyDiffRequestProducer(project, before, after, pair.first, pair.second));
    }
    if (selected == -1) selected = 0;

    return new ChangeDiffRequestChain(requests, selected);
  }
public static ChangeDiffRequestChain createDiffRequestChain(@Nullable Project project,
                                                              @NotNull Label before,
                                                              @NotNull Label after,
                                                              @NotNull Iterable<? extends Pair<FilePath, FileStatus>> iterable,
                                                              @Nullable FilePath selectedPath)