docs: private CompletableFuture<Void> handleBootstrap(MemberId peer) {
      LOGGER.trace("Received bootstrap request from {} for {}", peer, bootstrapMessageSubject);
  
      Function<List<UpdateEntry>, CompletableFuture<Void>> sendUpdates = updates -> {
        LOGGER.trace("Initializing {} with {} entries", peer, updates.size());
        return clusterCommunicator.<List<UpdateEntry>, Void>send(
            initializeMessageSubject,
            ImmutableList.copyOf(updates),
            serializer::encode,
            serializer::decode,
            peer)
            .whenComplete((result, error) -> {
              if (error != null) {
                LOGGER.debug("Failed to initialize {}", peer, error);
              }
            });
      };
  
      List<CompletableFuture<Void>> futures = Lists.newArrayList();
      List<UpdateEntry> updates = Lists.newArrayList();
      for (Map.Entry<String, MapValue> entry : items.entrySet()) {
        String key = entry.getKey();
        MapValue value = entry.getValue();
        if (value.isAlive()) {
          updates.add(new UpdateEntry(key, value));
          if (updates.size() == DEFAULT_MAX_EVENTS) {
            futures.add(sendUpdates.apply(updates));
            updates = new ArrayList<>();
          }
        }
      }
  
      if (!updates.isEmpty()) {
        futures.add(sendUpdates.apply(updates));
      }
      return CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()]));
    }