code: public void processMessage (Message msg)
      {
          if (_client.getRunQueue().isRunning()) {
              // append it to our queue
              _actions.append(msg);
              // and queue ourselves up to be run
              _client.getRunQueue().postRunnable(this);
          } else {
              log.info("Dropping message as RunQueue is shutdown", "msg", msg);
          }
      }
docs: Called by the communicator when a message arrives from the network layer. We queue it up for
  processing and request some processing time on the main thread.