function CanBeRedeemed(Bond bond) 
        internal view returns(bool) 
    {
        return 
            bond.issueTime > 0 &&                       
            bond.owner != 0 &&                          
            bond.redeemTime == 0 &&                     
            bond.sellingPrice == 0 &&                   
            (
                !IsPremature(bond.maturityTime) ||      
                bond.canBeRedeemedPrematurely
            ) &&       
            block.timestamp <= bond.maxRedeemTime;      
    }