 
     protected var _maxSimultaneous :int;
     protected var _shutdown :Boolean;
+    protected var _terminated :Boolean;
     protected var _running :Vector.<Future> = new Vector.<Future>();
     protected var _toRun :Vector.<ToRun> = new Vector.<ToRun>();
     protected var _timer :Timer = new Timer(1);

            cancelled.push(toRun.f);
        }
        _toRun = new Vector.<ToRun>();
        return cancelled;
    }

    protected function handleTimer (event :TimerEvent) :void {

     * will be dispatched immediately.
     */
    public function shutdown () :void {
        _shutdown = true;
        terminateIfNecessary();
    }

    /**
