protected function _prepareValidate(Mage_Checkout_Model_Cart $cart)
 {
     $cart->setData('all_items', $cart->getQuote()->getAllItems());
     if ($cart->getQuote()->isVirtual()) {
         $address = $cart->getQuote()->getBillingAddress();
     } else {
         $address = $cart->getQuote()->getShippingAddress();
     }
     foreach ($cart->getQuote()->getAllItems() as $item) {
         $ruleIdOption = $item->getOptionByCode('aw_afptc_rule');
         if (null === $ruleIdOption) {
             continue;
         }
         $address->setTotalQty($cart->getItemsQty() - $item->getQty());
         $address->setBaseSubtotal($address->getBaseSubtotal() - $item->getBaseRowTotal());
         $address->setWeight($address->getWeight() - $item->getWeight());
     }
     return $this;
 }