* @param      PropelPDO $con
    * @return     sfGuardGroupPermission
    */
    public static function retrieveByPK($group_id, $permission_id, PropelPDO $con = null)
    {
        $key = serialize(array((string) $group_id, (string) $permission_id));
        if (null !== ($obj = sfGuardGroupPermissionPeer::getInstanceFromPool($key))) {
            return $obj;
        }
        if ($con === null) {
            $con = Propel::getConnection(sfGuardGroupPermissionPeer::DATABASE_NAME, Propel::CONNECTION_READ);
        }
        $criteria = new Criteria(sfGuardGroupPermissionPeer::DATABASE_NAME);
        $criteria->add(sfGuardGroupPermissionPeer::GROUP_ID, $group_id);
        $criteria->add(sfGuardGroupPermissionPeer::PERMISSION_ID, $permission_id);
        $v = sfGuardGroupPermissionPeer::doSelect($criteria, $con);
        return !empty($v) ? $v[0] : null;
    }
}
// BasesfGuardGroupPermissionPeer
// This is the static code needed to register the MapBuilder for this table with the main Propel class.
//
// NOTE: This static code cannot call methods on the sfGuardGroupPermissionPeer class, because it is not defined yet.
// If you need to use overridden methods, you can add this code to the bottom of the sfGuardGroupPermissionPeer class:
//
// Propel::getDatabaseMap(sfGuardGroupPermissionPeer::DATABASE_NAME)->addTableBuilder(sfGuardGroupPermissionPeer::TABLE_NAME, sfGuardGroupPermissionPeer::getMapBuilder());
//
// Doing so will effectively overwrite the registration below.
Propel::getDatabaseMap(BasesfGuardGroupPermissionPeer::DATABASE_NAME)->addTableBuilder(BasesfGuardGroupPermissionPeer::TABLE_NAME, BasesfGuardGroupPermissionPeer::getMapBuilder());
        if ($res !== true) {
            $request = sfContext::getInstance()->getRequest();
            foreach ($res as $failed) {
                $col = sfGuardGroupPermissionPeer::translateFieldname($failed->getColumn(), BasePeer::TYPE_COLNAME, BasePeer::TYPE_PHPNAME);
                $request->setError($col, $failed->getMessage());
            }
        }
        return $res;
    }
    public static function retrieveByPK($group_id, $permission_id, $con = null)
    {
        if ($con === null) {
            $con = Propel::getConnection(self::DATABASE_NAME);
        }
        $criteria = new Criteria();
        $criteria->add(sfGuardGroupPermissionPeer::GROUP_ID, $group_id);
        $criteria->add(sfGuardGroupPermissionPeer::PERMISSION_ID, $permission_id);
        $v = sfGuardGroupPermissionPeer::doSelect($criteria, $con);
        return !empty($v) ? $v[0] : null;
    }
}
if (Propel::isInit()) {
    try {
        BasesfGuardGroupPermissionPeer::getMapBuilder();
    } catch (Exception $e) {
        Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
    }
} else {
    require_once 'plugins/sfGuardPlugin/lib/model/map/sfGuardGroupPermissionMapBuilder.php';
    Propel::registerMapBuilder('plugins.sfGuardPlugin.lib.model.map.sfGuardGroupPermissionMapBuilder');
}