/** Locks on the semaphore object until the provided timeout expires
* @exception TimeoutException if the timeout expired before
* the semaphore could be acquired.
/** Locks on the semaphore object until the provided timeout expires
* @exception TimeoutException if the timeout expired before
* the semaphore could be acquired.