anchor.diff:      if (requestors[lockType] == null) requestors[lockType] = [];
       requestors[lockType].add({
         "socket" : socket,
  +      "socketHashCode" : socket.hashCode,
         "requestId": requestId,
         "callId": callId,
         "author": author,
  
positive.code:   }
  
    handleClient(Socket socket) {
      clientSockets.add(socket);
      toJsonStream(socket).listen((Map data) {
        if (data["type"] == "lock") handleLockRequest(data["data"], socket);
        if (data["type"] == "info") handleInfoRequest(socket);
      }, onDone: () => _disposeOfSocket(socket));
    }
  
    handleInfoRequest(Socket socket) {
  
negative.code:     if (_tryReleaseLock(requestId, callId, lockType, socket) ||
          _tryCancelRequestor(requestId, callId, lockType, socket)) {
        writeJSON(socket, {"result": "ok", "action": "cancel", "requestId": requestId});
        socket.flush().catchError((e, s) => _logger.warning("error when flushing in socket ${s.hashCode} $e $s"));
      } else {
        writeJSON(socket, {"error": "Cannot cancel requestor when the socket does not own it nor waits for it", "action": "cancel", "requestId": requestId});
        socket.flush().catchError((e, s) => _logger.warning("error when flushing in socket ${s.hashCode} $e $s"));
      }
    }
  
  