public boolean executeInCurrentThread(@Nullable VirtualFile repo,
                                        @NotNull @NonNls String operation,
                                        @Nullable List<@NonNls String> arguments,
                                        boolean ignoreDefaultOptions,
                                        @NotNull HgLineProcessListener listener) {
    boolean success = executeInCurrentThreadAndLog(repo, operation, arguments, ignoreDefaultOptions, listener);
    List<String> errors = StringUtil.split(listener.getErrorOutput().toString(), System.lineSeparator());
    if (success && HgErrorUtil.isUnknownEncodingError(errors)) {
      setCharset(StandardCharsets.UTF_8);
      return executeInCurrentThreadAndLog(repo, operation, arguments, ignoreDefaultOptions, listener);
    }
    return success;
  }
public boolean executeInCurrentThread(@Nullable VirtualFile repo,
                                        @NotNull @NonNls String operation,
                                        @Nullable List<@NonNls String> arguments,
                                        boolean ignoreDefaultOptions,
                                        @NotNull HgLineProcessListener listener)