if (UtilValidate.isNotEmpty(productId)) {
Map ctx = UtilMisc.toMap("userLogin", userLogin, "shoppingListId", shoppingListId, "productId",
orderItem.get("productId"), "quantity", orderItem.get("quantity"));
if ("AGGREGATED_CONF".equals(ProductWorker.getProductTypeId(delegator, productId))) {
try {
GenericValue instanceProduct = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId));
String configId = instanceProduct.getString("configId");
ctx.put("configId", configId);
String aggregatedProductId = ProductWorker.getInstanceAggregatedId(delegator, productId);
//override the instance productId with aggregated productId
ctx.put("productId", aggregatedProductId);