### Question:
DefaultMutableWorldState implements MutableWorldState { @Override public WorldUpdater updater() { return new Updater(this); } DefaultMutableWorldState(
      final WorldStateStorage storage, final WorldStatePreimageStorage preimageStorage);  DefaultMutableWorldState(
      final Bytes32 rootHash,
      final WorldStateStorage worldStateStorage,
      final WorldStatePreimageStorage preimageStorage);  DefaultMutableWorldState(final WorldState worldState); @Override Hash rootHash(); @Override MutableWorldState copy(); @Override Account get(final Address address); @Override WorldUpdater updater(); @Override Stream<StreamableAccount> streamAccounts(final Bytes32 startKeyHash, final int limit); @Override int hashCode(); @Override final boolean equals(final Object other); @Override void persist();  }### Answer:
@Test public void getOriginalStorageValue() { final MutableWorldState worldState = createEmpty(); final WorldUpdater setupUpdater = worldState.updater(); final MutableAccount setupAccount = setupUpdater.createAccount(ADDRESS).getMutable(); setupAccount.setStorageValue(UInt256.ONE, UInt256.valueOf(2)); setupUpdater.commit(); final WorldUpdater updater = worldState.updater(); final MutableAccount account = updater.getOrCreate(ADDRESS).getMutable(); assertThat(account.getOriginalStorageValue(UInt256.ONE)).isEqualTo(UInt256.valueOf(2)); account.setStorageValue(UInt256.ONE, UInt256.valueOf(3)); assertThat(account.getOriginalStorageValue(UInt256.ONE)).isEqualTo(UInt256.valueOf(2)); }
@Test public void originalStorageValueIsAlwaysZeroIfStorageWasCleared() { final MutableWorldState worldState = createEmpty(); final WorldUpdater setupUpdater = worldState.updater(); final MutableAccount setupAccount = setupUpdater.createAccount(ADDRESS).getMutable(); setupAccount.setStorageValue(UInt256.ONE, UInt256.valueOf(2)); setupUpdater.commit(); final WorldUpdater updater = worldState.updater(); final MutableAccount account = updater.getOrCreate(ADDRESS).getMutable(); account.clearStorage(); assertThat(account.getOriginalStorageValue(UInt256.ONE)).isEqualTo(UInt256.ZERO); }