code: private CompletableFuture<Void> fetchExistingKeys(BucketUpdate.Builder builder, DirectSegmentAccess segment, TimeoutTimer timer) {
          // Get all Key locations, using the bucket's last offset and backpointers.
          return TableBucketReader
                  .key(segment, this.indexWriter::getBackpointerOffset, this.executor)
                  .findAll(builder.getBucket().getSegmentOffset(),
                          (key, offset) -> builder.withExistingKey(new BucketUpdate.KeyInfo(new HashedArray(key.getKey()), offset, key.getVersion())),
                          timer);
  
      }
docs: Fetches the existing keys for the given {@link BucketUpdate}.
  
  @param builder The BucketUpdate to fetch keys for. Upon completion of this method, this will be updated with
  the existing keys.
  @param segment The segment to operate on.
  @param timer   Timer for the operation.
  @return A CompletableFuture that, when completed, will indicate the operation is done.