private Set<StorageSlotKey> getSlotsTouchedByTransactionAndByAddress(
      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) -> {
                  slots.add(storageSlotKey);
                });
          }
        });
    return slots;
  }
Retrieves the set of storage slot keys that have been touched by the given transaction for the
specified address, based on the provided world state update accumulator.

<p>This method checks if the accumulator contains storage updates for the specified address. If
such updates are found, it adds the touched storage slot keys to the returned set. The method
does not distinguish between changes or unchanged slots; it simply collects all the storage
slot keys that have been touched by the transaction for the given address.

@param accumulator An {@link Optional} containing the world state update accumulator, which
    holds the updates for storage slots.
@param address The address for which the touched storage slots are being retrieved.
@return A set of storage slot keys that have been touched by the transaction 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