@Override
  public ImportResult call() throws Exception {
    boolean success = false;
    Stopwatch stopwatch = Stopwatch.createStarted();
    try {
      idempotentImportExecutor.resetRecentErrors();
      ImportResult result = importerProvider.get()
          .importItem(jobId, idempotentImportExecutor, authData, data);

      Collection<ErrorDetail> errors = idempotentImportExecutor.getRecentErrors();
      success = result.getType() == ImportResult.ResultType.OK && errors.isEmpty();

      if (!success && errors.iterator().hasNext() && !errors.iterator().next().canSkip()) {
        throw new IOException(
            "Problem with importer, forcing a retry, "
                + "first error: "
                + (errors.iterator().hasNext() ? errors.iterator().next().exception() : "none"));
      }

      result = result.copyWithCounts(data.getCounts());
      return result;
    } finally{
      metricRecorder.importPageAttemptFinished(
          JobMetadata.getDataType(),
          JobMetadata.getImportService(),
          success,
          stopwatch.elapsed());
    }
  }
Callable wrapper around an {@link Importer}.
portability-transfer/src/main/java/org/datatransferproject/transfer/CallableImporter.java