* Arrange for the given command to be executed by a thread in this pool.
* The method normally returns when the command has been handed off for
* (possibly later) execution.
*/
public void execute(Runnable command) throws InterruptedException {
ThreadListener listener = _listener;
if (listener != null) {
super.execute(new NotifyingRunnable(command, listener));
} else {
super.execute(command);
}