@Override
  public void commit() {
    final AbstractWorldUpdater<W, A> wrapped = wrappedWorldView();
    // Our own updates should apply on top of the updates we're stacked on top, so our deletions
    // may kill some of "their" updates, and our updates may review some of the account "they"
    // deleted.
    getDeletedAccounts().forEach(wrapped.updatedAccounts::remove);
    getUpdatedAccounts().forEach(a -> wrapped.deletedAccounts.remove(a.getAddress()));

    // Then push our deletes and updates to the stacked ones.
    wrapped.deletedAccounts.addAll(getDeletedAccounts());

    for (final UpdateTrackingAccount<UpdateTrackingAccount<A>> update : getUpdatedAccounts()) {
      UpdateTrackingAccount<A> existing = wrapped.updatedAccounts.get(update.getAddress());
      if (existing == null) {
        // If we don't track this account, it's either a new one or getForMutation above had
        // created a tracker to satisfy the type system above and we can reuse that now.
        existing = update.getWrappedAccount();
        if (existing == null) {
          // Brand new account, create our own version
          existing = new UpdateTrackingAccount<>(update.getAddress());
        }
        wrapped.updatedAccounts.put(existing.getAddress(), existing);
      }
      existing.setNonce(update.getNonce());
      existing.setBalance(update.getBalance());
      if (update.codeWasUpdated()) {
        existing.setCode(update.getCode());
      }
      if (update.getStorageWasCleared()) {
        existing.clearStorage();
      }
      update.getUpdatedStorage().forEach(existing::setStorageValue);
    }
  }
Instantiates a new Stacked updater.

@param world the world
@param evmConfiguration the EVM Configuration parameters
evm/src/main/java/org/hyperledger/besu/evm/worldstate/StackedUpdater.java