private Set<StorageSlotKey> getSlotsTouchedByBlockAndByAddress(
      final Optional<PathBasedWorldStateUpdateAccumulator<?>> accumulator, final Address address) {
    HashSet<StorageSlotKey> slots = new HashSet<>();
    accumulator.ifPresent(
        pathBasedWorldStateUpdateAccumulator -> {
          final StorageConsumingMap<StorageSlotKey, PathBasedValue<UInt256>> map =
              pathBasedWorldStateUpdateAccumulator.getStorageToUpdate().get(address);
          if (map != null) {
            map.forEach(
                (storageSlotKey, slot) -> {
                  if (!slot.isUnchanged()) {
                    slots.add(storageSlotKey);
                  }
                });
          }
        });
    return slots;
  }
Retrieves the set of storage slot keys that have been updated in the block accumulator for the
specified address.

<p>This method checks if the accumulator contains a storage map for the provided address. If
the address has associated storage updates, it iterates over the storage slots and add it to
the list only if the corresponding storage value has been modified (i.e., is not unchanged).

@param accumulator An Optional containing the world state block update accumulator, which holds
    the storage updates.
@param address The address for which the storage slots are being queried.
@return A set of storage slot keys that have been updated for the given address. If no updates
    are found, or the address has no associated updates, an empty set is returned.
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/parallelization/TransactionCollisionDetector.java