@Override
  public void addErrorsToJob(UUID jobId, Collection<ErrorDetail> errors) throws IOException {
    // This is a no-op currently as nothing in DTP reads the errors currently.
    if (errors != null && !errors.isEmpty()) {
      for (ErrorDetail error : errors) {
        String errorString = OBJECT_MAPPER.writeValueAsString(error);
        monitor.info(() -> "Added error: " + errorString);
      }
    }
  }
Verifies a {@code PortabilityJob} already exists for {@code jobId}, and updates the entry to
{@code job}. If {@code validator} is non-null, validator.validate() is called first, as part of
the atomic update.

@throws IOException if a job didn't already exist for {@code jobId} or there was a problem
    updating it
@throws IllegalStateException if validator.validate() failed
extensions/cloud/portability-cloud-local/src/main/java/org/datatransferproject/cloud/local/LocalJobStore.java