work on ThrottleSemaphore