code: public void dispatchResponse(ManagerResponse response)
      {
          final String actionId;
          String internalActionId;
          SendActionCallback listener;
  
          // shouldn't happen
          if (response == null)
          {
              logger.error("Unable to dispatch null response. This should never happen. Please file a bug.");
              return;
          }
  
          actionId = response.getActionId();
          internalActionId = null;
          listener = null;
  
          if (actionId != null)
          {
              internalActionId = ManagerUtil.getInternalActionId(actionId);
              response.setActionId(ManagerUtil.stripInternalActionId(actionId));
          }
  
          if (logger.isDebugEnabled())
          {
              logger.debug("Dispatching response with internalActionId '" + internalActionId + "':\n" + response);
          }
  
          if (internalActionId != null)
          {
              synchronized (this.responseListeners)
              {
                  listener = responseListeners.get(internalActionId);
                  if (listener != null)
                  {
                      this.responseListeners.remove(internalActionId);
                  }
                  else
                  {
                      // when using the async sendAction it's ok not to register a
                      // callback so if we don't find a response handler thats ok
                      logger.debug("No response listener registered for " + "internalActionId '" + internalActionId + "'");
                  }
              }
          }
          else
          {
              logger.error(
                      "Unable to retrieve internalActionId from response: " + "actionId '" + actionId + "':\n" + response);
          }
  
          if (listener != null)
          {
              try
              {
                  listener.onResponse(response);
              }
              catch (Exception e)
              {
                  logger.warn("Unexpected exception in response listener " + listener.getClass().getName(), e);
              }
          }
      }
docs: This method is called by the reader whenever a {@link ManagerResponse} is
  received. The response is dispatched to the associated
  {@link SendActionCallback}.
  
  @param response the response received by the reader
  @see ManagerReader