String isVariant = product.getString("isVariant");
if (pieces == null && isVariant != null && "Y".equals(isVariant)) {
// get the virtual product and check its weight
GenericValue virtual = null;
try {
List<GenericValue> virtuals = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productIdTo", product.getString("productId"), "productAssocTypeId", "PRODUCT_VARIANT"), UtilMisc.toList("-fromDate"));
virtuals = EntityUtil.filterByDate(virtuals);
virtual = EntityUtil.getFirst(virtuals);
} catch (GenericEntityException e) {
Debug.logError(e, "Problem getting virtual product");
}