class AccountState implements Serializable {

    public BigInteger addToBalance(BigInteger value) {
        logger.traceEntry("params: {}", value);
        Util.check(value != null, "value!=null");
        Util.check(value.compareTo(BigInteger.ZERO) > 0, "value must be positive");
        Util.check(balance.add(value).compareTo(BigInteger.ZERO) > 0, "Balance would be negative!!!");

        this.balance = balance.add(value);
        return logger.traceExit(this.balance);
    }

    public  AccountState(AccountAddress address);
    public  AccountState(BigInteger nonce, BigInteger balance, AccountAddress address);
    public  AccountState(AccountState source);

}