docs: protected void closeJobManagerConnection(JobID jobId, Exception cause) {
  		JobManagerRegistration jobManagerRegistration = jobManagerRegistrations.remove(jobId);
  
  		if (jobManagerRegistration != null) {
  			final ResourceID jobManagerResourceId = jobManagerRegistration.getJobManagerResourceID();
  			final JobMasterGateway jobMasterGateway = jobManagerRegistration.getJobManagerGateway();
  			final JobMasterId jobMasterId = jobManagerRegistration.getJobMasterId();
  
  			log.info("Disconnect job manager {}@{} for job {} from the resource manager.",
  				jobMasterId,
  				jobMasterGateway.getAddress(),
  				jobId);
  
  			jobManagerHeartbeatManager.unmonitorTarget(jobManagerResourceId);
  
  			jmResourceIdRegistrations.remove(jobManagerResourceId);
  
  			// tell the job manager about the disconnect
  			jobMasterGateway.disconnectResourceManager(getFencingToken(), cause);
  		} else {
  			log.debug("There was no registered job manager for job {}.", jobId);
  		}
  	}