/**
  * Filter the query by a related sfGuardPermission object
  *
  * @param     sfGuardPermission|PropelCollection $sfGuardPermission The related object(s) to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return    sfGuardUserPermissionQuery The current query, for fluid interface
  */
 public function filterBysfGuardPermission($sfGuardPermission, $comparison = null)
 {
     if ($sfGuardPermission instanceof sfGuardPermission) {
         return $this->addUsingAlias(sfGuardUserPermissionPeer::PERMISSION_ID, $sfGuardPermission->getId(), $comparison);
     } elseif ($sfGuardPermission instanceof PropelCollection) {
         if (null === $comparison) {
             $comparison = Criteria::IN;
         }
         return $this->addUsingAlias(sfGuardUserPermissionPeer::PERMISSION_ID, $sfGuardPermission->toKeyValue('PrimaryKey', 'Id'), $comparison);
     } else {
         throw new PropelException('filterBysfGuardPermission() only accepts arguments of type sfGuardPermission or PropelCollection');
     }
 }