code: @Override
      public void shutdown ()
      {
          _shutdownRequested = true;
          _queue.append(new Unit() {
              @Override public boolean invoke () {
                  _running = false;
                  return false;
              }
          });
      }
docs: Shuts down the invoker thread by queueing up a unit that will cause the thread to exit after
  all currently queued units are processed.