public DelayedReply messageArrived(CellMessage envelope, PoolMgrGetUpdatedHandler message) {
   SerializablePoolManagerHandler handler = this.handler;
   UpdateRequest request = new UpdateRequest(envelope, message);
   requests.add(request);
   if (message.getVersion().equals(handler.getVersion())) {
     delays.put(request);
     UpdateRequest expired;
     while ((expired = delays.poll()) != null) {
       requests.remove(expired);
     }
   } else if (requests.remove(request)) {
     request.send(handler);
   }
   return request;
 }
 public void send(SerializablePoolManagerHandler handler) {
   message.setHandler(handler);
   reply(message);
 }