code: private Set<String> validateJobId(final Job job) {
      final Set<String> errors = Sets.newHashSet();
      final JobId jobId = job.getId();
  
      if (jobId == null) {
        errors.add("Job id was not specified.");
        return errors;
      }
  
      final String jobIdVersion = jobId.getVersion();
      final String jobIdHash = jobId.getHash();
      final JobId recomputedId = job.toBuilder().build().getId();
  
      errors.addAll(validateJobName(jobId, recomputedId));
      errors.addAll(validateJobVersion(jobIdVersion, recomputedId));
  
      if (this.shouldValidateJobHash) {
        errors.addAll(validateJobHash(jobIdHash, recomputedId));
      }
  
      return errors;
    }
docs: Validate the Job's JobId by checking name, version, and hash are
  not null or empty, don't contain invalid characters.
  
  @param job The Job to check.
  
  @return A set of error Strings