/**
  * Capturing method being executed via Payment Bridge
  *
  * @param Varien_Object $payment
  * @param float $amount
  * @return Enterprise_Pbridge_Model_Payment_Method_Payflow_Pro
  */
 public function capture(Varien_Object $payment, $amount)
 {
     $this->_setPbridgeAdditionalParams();
     $payment->setShouldCloseParentTransaction(!$this->_getCaptureAmount($amount));
     $payment->setFirstCaptureFlag(!$this->getInfoInstance()->hasAmountPaid());
     $response = $this->getPbridgeMethodInstance()->capture($payment, $amount);
     if (!$response) {
         $response = $this->getPbridgeMethodInstance()->authorize($payment, $amount);
     }
     $payment->addData((array) $response);
     $payment->setIsTransactionClosed(0);
     return $this;
 }