try
{
if (!semaphore.tryAcquire(props.timeout(), props.unit()))
{
throw new LockAcquisitionFailureException("Failed to acquire permit for @Semaphored class. Timeout reached.");
}
}
catch (InterruptedException e)
{
throw new LockAcquisitionFailureException("Failed to acquire permit for @Semaphored class", e);
}