@Override
public void runWithException() throws Throwable {
execute(new Callable<Object>() {
@Override
public Object call() throws Exception {
threadGroupRunner.tick(1);
final TryLockFunctionResult<Object> result = service.doInTryLock(mutexName, new Function<ClusterMutex, Object>() {
@Override
public Object apply(ClusterMutex input) {
if (concurrent.getAndSet(true)) {
fail("Only one thread should be in Function at a time");