/**
  * Retrieve object using using composite pkey values.
  * @param      int $user_id
  * @param      int $test_id
  * @param      int $variant_id
  * @param      PropelPDO $con
  * @return     PcSplitTestUserResult
  */
 public static function retrieveByPK($user_id, $test_id, $variant_id, PropelPDO $con = null)
 {
     $key = serialize(array((string) $user_id, (string) $test_id, (string) $variant_id));
     if (null !== ($obj = PcSplitTestUserResultPeer::getInstanceFromPool($key))) {
         return $obj;
     }
     if ($con === null) {
         $con = Propel::getConnection(PcSplitTestUserResultPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $criteria = new Criteria(PcSplitTestUserResultPeer::DATABASE_NAME);
     $criteria->add(PcSplitTestUserResultPeer::USER_ID, $user_id);
     $criteria->add(PcSplitTestUserResultPeer::TEST_ID, $test_id);
     $criteria->add(PcSplitTestUserResultPeer::VARIANT_ID, $variant_id);
     $v = PcSplitTestUserResultPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }