public String toString(String format, NumberFormat nf) throws IllegalArgumentException {
        if(nf == null || format == null || format.isEmpty()){
            throw new IllegalArgumentException("NumberFormat and String arguments"
                    + "must not be null or empty.");
        }
        return String.format(format, description, qty, nf.format(price), nf.format(discount), nf.format(price - discount));
//        return description + "      " + qty + "       " + price + "      " + discount + "      " + (price - discount);
    }