public function filterByReference($reference, $comparison = null)
    {
        if ($reference instanceof \gossi\trixionary\model\Reference) {
            return $this
                ->addUsingAlias(SkillReferenceTableMap::COL_REFERENCE_ID, $reference->getId(), $comparison);
        } elseif ($reference instanceof ObjectCollection) {
            if (null === $comparison) {
                $comparison = Criteria::IN;
            }

            return $this
                ->addUsingAlias(SkillReferenceTableMap::COL_REFERENCE_ID, $reference->toKeyValue('PrimaryKey', 'Id'), $comparison);
        } else {
            throw new PropelException('filterByReference() only accepts arguments of type \gossi\trixionary\model\Reference or Collection');
        }
    }