code: protected void spoolerRun ()
      {
          while (true) {
              try {
                  SoundKey key;
                  synchronized (_queue) {
                      _freeSpoolers++;
                      key = _queue.get(MAX_WAIT_TIME);
                      _freeSpoolers--;
  
                      if (key == null || key.cmd == DIE) {
                          _spoolerCount--;
                          // if dying and there are others to kill, do so
                          if (key != null && _spoolerCount > 0) {
                              _queue.appendLoud(key);
                          }
                          return;
                      }
                  }
  
                  // process the command
                  processKey(key);
  
              } catch (Exception e) {
                  log.warning(e);
              }
          }
      }
docs: This is the primary run method of the sound-playing threads.