docs: protected void handleTimeout(REQID rid) {
      if (contextMap.containsKey(rid)) {
        Object ctx = contextMap.get(rid);
        contextMap.remove(rid);
        responseMessageMap.remove(rid);
        onResponse(StatusCode.TIMEOUT_ERROR, ctx, null);
      } else {
        // Since we dont do cancel timer, this is because we already have
        // the response. So just disregard this timeout
        // TODO:- implement cancel timer to avoid this overhead
      }
    }