/**
 * Retrieve object using using composite pkey values.
 * @param      int $camp_id
   @param      int $passenger_id
   @param      int $mission_id
   
 * @param      PropelPDO $con
 * @return     CampPassenger
 */
 public static function retrieveByPK($camp_id, $passenger_id, $mission_id, PropelPDO $con = null)
 {
     $key = serialize(array((string) $camp_id, (string) $passenger_id, (string) $mission_id));
     if (null !== ($obj = CampPassengerPeer::getInstanceFromPool($key))) {
         return $obj;
     }
     if ($con === null) {
         $con = Propel::getConnection(CampPassengerPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $criteria = new Criteria(CampPassengerPeer::DATABASE_NAME);
     $criteria->add(CampPassengerPeer::CAMP_ID, $camp_id);
     $criteria->add(CampPassengerPeer::PASSENGER_ID, $passenger_id);
     $criteria->add(CampPassengerPeer::MISSION_ID, $mission_id);
     $v = CampPassengerPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }