docs: @Override
  	public JobExecutionResult executeJobBlocking(JobGraph job) throws JobExecutionException, InterruptedException {
  		checkNotNull(job, "job is null");
  
  		final CompletableFuture<JobSubmissionResult> submissionFuture = submitJob(job);
  
  		final CompletableFuture<JobResult> jobResultFuture = submissionFuture.thenCompose(
  			(JobSubmissionResult ignored) -> requestJobResult(job.getJobID()));
  
  		final JobResult jobResult;
  
  		try {
  			jobResult = jobResultFuture.get();
  		} catch (ExecutionException e) {
  			throw new JobExecutionException(job.getJobID(), "Could not retrieve JobResult.", ExceptionUtils.stripExecutionException(e));
  		}
  
  		try {
  			return jobResult.toJobExecutionResult(Thread.currentThread().getContextClassLoader());
  		} catch (IOException | ClassNotFoundException e) {
  			throw new JobExecutionException(job.getJobID(), e);
  		}
  	}