public void appendItemDataModel(XModel model) {
if (cart != null) {
Iterator i = cart.iterator();
while (i.hasNext()) {
ShoppingCartItem item = (ShoppingCartItem) i.next();
BigDecimal quantity = item.getQuantity();
BigDecimal unitPrice = item.getBasePrice();
BigDecimal subTotal = unitPrice.multiply(quantity);
BigDecimal adjustment = item.getOtherAdjustments();
XModel line = Journal.appendNode(model, "tr", ""+cart.getItemIndex(item), "");
Journal.appendNode(line, "td", "sku", item.getProductId());
Journal.appendNode(line, "td", "desc", item.getName());
Journal.appendNode(line, "td", "qty", UtilFormatOut.formatQuantity(quantity));
Journal.appendNode(line, "td", "price", UtilFormatOut.formatPrice(subTotal));
Journal.appendNode(line, "td", "index", Integer.toString(cart.getItemIndex(item)));
if (this.isAggregatedItem(item.getProductId())) {
// put alterations here
ProductConfigWrapper pcw = null;
// product = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", productId));
// pcw = new ProductConfigWrapper(delegator, session.getDispatcher(), productId, null, null, null, null, null, null);
pcw = item.getConfigWrapper();
List selected = pcw.getSelectedOptions();
Iterator iter = selected.iterator();
while (iter.hasNext()) {
ConfigOption configoption = (ConfigOption)iter.next();
if (configoption.isSelected()) {