Wait for at least one service to be tracked by this
ServiceTracker. This method will also return when this
ServiceTracker is closed.
It is strongly recommended that waitForService is not used during the calling of the BundleActivator methods. BundleActivator methods are expected to complete in a short period of time.
This implementation calls {@link #getService()} to determine if a serviceis being tracked.
@param timeout The time interval in milliseconds to wait. If zero, themethod will wait indefinitely.
@return Returns the result of {@link #getService()}.
@throws InterruptedException If another thread has interrupted thecurrent thread.
@throws IllegalArgumentException If the value of timeout is negative.