@Override
    public <E extends Exception> Job getOrCreateJob(
            JobID jobId,
            SupplierWithException<? extends JobTable.JobServices, E> jobServicesSupplier)
            throws E {
        JobOrConnection job = jobs.get(jobId);

        if (job == null) {
            job = new JobOrConnection(jobId, jobServicesSupplier.get());
            jobs.put(jobId, job);
        }

        return job;
    }
@Test
    void accessJobManagerGateway_AfterBeingDisconnected_WillFail() {
        final JobTable.Job job = jobTable.getOrCreateJob(jobId, DEFAULT_JOB_SERVICES_SUPPLIER);

        final JobTable.Connection connection = connectJob(job, ResourceID.generate());

        connection.disconnect();

        assertThatThrownBy(connection::getJobManagerGateway)
                .isInstanceOf(IllegalStateException.class);
    }