/**
  * Filter the query by a related SystemEventSubscription object
  *
  * @param   SystemEventSubscription|PropelObjectCollection $systemEventSubscription The related object(s) to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return   SystemEventInstanceMessageQuery The current query, for fluid interface
  * @throws   PropelException - if the provided filter is invalid.
  */
 public function filterBySystemEventSubscription($systemEventSubscription, $comparison = null)
 {
     if ($systemEventSubscription instanceof SystemEventSubscription) {
         return $this->addUsingAlias(SystemEventInstanceMessagePeer::SYSTEM_EVENT_SUBSCRIPTION_ID, $systemEventSubscription->getId(), $comparison);
     } elseif ($systemEventSubscription instanceof PropelObjectCollection) {
         if (null === $comparison) {
             $comparison = Criteria::IN;
         }
         return $this->addUsingAlias(SystemEventInstanceMessagePeer::SYSTEM_EVENT_SUBSCRIPTION_ID, $systemEventSubscription->toKeyValue('PrimaryKey', 'Id'), $comparison);
     } else {
         throw new PropelException('filterBySystemEventSubscription() only accepts arguments of type SystemEventSubscription or PropelCollection');
     }
 }