public static @NotNull List<VcsCommitMetadata> loadMetadata(final @NotNull Project project,
                                                              final @NotNull VirtualFile root, int limit,
                                                              @NotNull List<String> parameters) {

    final VcsLogObjectsFactory factory = getObjectsFactoryWithDisposeCheck(project);
    if (factory == null) {
      return Collections.emptyList();
    }
    HgVcs hgvcs = HgVcs.getInstance(project);
    assert hgvcs != null;
    HgVersion version = hgvcs.getVersion();
    List<String> templateList = HgBaseLogParser.constructDefaultTemplate(version);
    templateList.add("{desc}");
    String[] templates = ArrayUtilRt.toStringArray(templateList);
    HgCommandResult result = getLogResult(project, root, version, limit, parameters, HgChangesetUtil.makeTemplate(templates));
    HgBaseLogParser<VcsCommitMetadata> baseParser = createMetadataParser(root, factory);
    return getCommitRecords(project, result, baseParser);
  }
public static @NotNull List<VcsCommitMetadata> loadMetadata(final @NotNull Project project,
                                                              final @NotNull VirtualFile root, int limit,
                                                              @NotNull List<String> parameters)