code: public void run() {
          while (true) {
              Object obj;
              try {
                  obj = messages.take();
                  notifySubscribers(obj);
              } catch (InterruptedException e) {
                  // restore interrupted status
                  Thread.currentThread().interrupt();
              }
          }
      }
docs: /*
  (non-Javadoc)
  
  @see java.lang.Runnable#run()