public static @NotNull List<Change> parse(@NotNull Project project,
                                            @NotNull VirtualFile root,
                                            @NotNull List<VcsFileStatusInfo> statusInfos,
                                            @NotNull String hash,
                                            @NotNull Date date,
                                            @Nullable String parentsHash) {
    GitRevisionNumber thisRevision = new GitRevisionNumber(hash, date);
    GitRevisionNumber parentRevision = parentsHash == null ? null : new GitRevisionNumber(parentsHash);

    List<Change> result = new ArrayList<>();
    for (VcsFileStatusInfo statusInfo : statusInfos) {
      result.add(parseChange(project, root, thisRevision, parentRevision, statusInfo));
    }
    return result;
  }
public static @NotNull List<Change> parse(@NotNull Project project,
                                            @NotNull VirtualFile root,
                                            @NotNull List<VcsFileStatusInfo> statusInfos,
                                            @NotNull String hash,
                                            @NotNull Date date,
                                            @Nullable String parentsHash)