@Override
  public void startAsync() {
    if (!shouldCheckPreconditions()) {
      LOG.info("All preconditions passed, skipping precondition server start");
      return;
    }
    LOG.info("Some preconditions not passed, starting precondition server");
    server.start();
  }
@Test
  public void shouldStartServerIfPreconditionsDoNotPass() {
    // Given:
    givenPreconditionFailures(precondition1);

    // When:
    checker.startAsync();

    // Then:
    verify(server).start();
  }