@Override
  public Lock acquireCleanJobLock() {
    return cleanJobLock;
  }
@Test
  public void acquireCleanJobLock_returns_a_non_current_lock() {
    StandaloneCeDistributedInformation underTest = new StandaloneCeDistributedInformation(mock(CeWorkerFactory.class));

    Lock lock = underTest.acquireCleanJobLock();

    IntStream.range(0, 5 + Math.abs(new Random().nextInt(50)))
      .forEach(i -> {
        try {
          assertThat(lock.tryLock()).isTrue();
          assertThat(lock.tryLock(1, TimeUnit.MINUTES)).isTrue();
          lock.lock();
          lock.lockInterruptibly();
          lock.unlock();
        } catch (InterruptedException e) {
          fail("no InterruptedException should be thrown");
        }
        try {
          lock.newCondition();
          fail("a UnsupportedOperationException should have been thrown");
        } catch (UnsupportedOperationException e) {
          assertThat(e.getMessage()).isEqualTo("newCondition not supported");
        }
      });
  }