@Override
  public MutableAccount getAccount(final Address address) {
    Optional<SimpleAccount> account = accounts.get(address);
    if (account != null) {
      return account.orElse(null);
    }
    Account parentAccount = parent == null ? null : parent.getAccount(address);
    if (parentAccount != null) {
      account =
          Optional.of(
              new SimpleAccount(
                  parentAccount,
                  parentAccount.getAddress(),
                  parentAccount.getNonce(),
                  parentAccount.getBalance(),
                  parentAccount.getCode()));
      accounts.put(address, account);
      return account.get();
    }
    return null;
  }
Instantiates a new Simple world.

@param parent the parent
evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleWorld.java