private void setBalance(BigInteger balance) throws IllegalArgumentException {
        if (! this.canHaveAsBalance(balance))
            throw new IllegalArgumentException();
        this.balance = balance;
    }