@Override
    public Lock lock() {
        return locker.lock();
    }
@Test
    void whileLockedJobCannotBeLockedForOtherSaveAction() {
        Job job = anEnqueuedJob().build();
        final AtomicBoolean atomicBoolean = new AtomicBoolean();

        final Lock lock = job.lock();
        await()
                .during(1, TimeUnit.SECONDS)
                .atMost(2, TimeUnit.SECONDS)
                .pollInterval(200, TimeUnit.MILLISECONDS)
                .untilAsserted(() -> {
                    new Thread(() -> {
                        job.lock();
                        atomicBoolean.set(true);
                    }).start();

                    assertThat(lock.isLocked()).isTrue();
                    assertThat(atomicBoolean).isFalse();
                });
    }