static function _validateContributionToBatch(&$contributionIDs)
 {
     $contributionsAdded = array();
     $contributionsAlreadyAdded = array();
     $contributionsNotValid = array();
     require_once "GiftAid/Utils/GiftAid.php";
     require_once "CRM/Core/DAO/EntityBatch.php";
     require_once "CRM/Contribute/BAO/Contribution.php";
     foreach ($contributionIDs as $contributionID) {
         $batchContribution =& new CRM_Core_DAO_EntityBatch();
         $batchContribution->entity_table = 'civicrm_contribution';
         $batchContribution->entity_id = $contributionID;
         // check if the selected contribution id already in a batch
         // if not, increment $numContributionsAdded else keep the count of contributions that are already added
         if (!$batchContribution->find(true)) {
             // get contact_id, & contribution receive date from Contribution using contribution id
             $params = array('id' => $contributionID);
             CRM_Contribute_BAO_Contribution::retrieve($params, $defaults, $ids);
             // check if contribution is not valid for gift aid, increment $numContributionsNotValid
             if (GiftAid_Utils_GiftAid::isEligibleForGiftAid($defaults['contact_id'], $defaults['receive_date'], $contributionID)) {
                 $contributionsAdded[] = $contributionID;
             } else {
                 $contributionsNotValid[] = $contributionID;
             }
         } else {
             $contributionsAlreadyAdded[] = $contributionID;
         }
     }
     return array(count($contributionIDs), $contributionsAdded, $contributionsAlreadyAdded, $contributionsNotValid);
 }