@Override
  public List<Change> parseStatusInfo(@NotNull Project project,
                                      @NotNull VcsShortCommitDetails commit,
                                      @NotNull List<VcsFileStatusInfo> changes,
                                      int parentIndex) {
    List<Change> result = new ArrayList<>();
    for (VcsFileStatusInfo info : changes) {
      String filePath = info.getFirstPath();
      HgRevisionNumber parentRevision =
        myRevisionNumber.getParents().isEmpty() ? null : myRevisionNumber.getParents().get(parentIndex);
      Change change = switch (info.getType()) {
        case MODIFICATION ->
          createChange(project, commit.getRoot(), filePath, parentRevision, filePath, myRevisionNumber, FileStatus.MODIFIED);
        case NEW -> createChange(project, commit.getRoot(), null, null, filePath, myRevisionNumber, FileStatus.ADDED);
        case DELETED -> createChange(project, commit.getRoot(), filePath, parentRevision, null, myRevisionNumber, FileStatus.DELETED);
        case MOVED -> createChange(project, commit.getRoot(), filePath, parentRevision, info.getSecondPath(), myRevisionNumber,
                                   HgChangeProvider.FileStatuses.RENAMED);
      };
      result.add(change);
    }
    return result;
  }
@Override
  public List<Change> parseStatusInfo(@NotNull Project project,
                                      @NotNull VcsShortCommitDetails commit,
                                      @NotNull List<VcsFileStatusInfo> changes,
                                      int parentIndex)