public function find($entityTypeID = \CCrmOwnerType::Undefined, $limit = 50)
 {
     if ($this->title === '') {
         //Invalid Operation?
         return null;
     }
     if (!is_int($entityTypeID)) {
         throw new Main\ArgumentTypeException('entityTypeID', 'integer');
     }
     if (!is_int($limit)) {
         throw new Main\ArgumentTypeException('limit', 'integer');
     }
     if ($limit <= 0) {
         $limit = 50;
     }
     $filter = array();
     if ($this->useStrictComparison) {
         $filter['TITLE'] = $this->title;
     } else {
         $filter['%TITLE'] = new \CSQLWhereExpression('?s', strtoupper($this->title) . '%');
     }
     if (\CCrmOwnerType::IsDefined($entityTypeID)) {
         $filter['ENTITY_TYPE_ID'] = $entityTypeID;
     }
     $dbResult = DuplicateOrganizationMatchCodeTable::getList(array('select' => array('ENTITY_TYPE_ID', 'ENTITY_ID'), 'order' => array('ENTITY_TYPE_ID' => 'ASC', 'ENTITY_ID' => 'ASC'), 'filter' => $filter, 'limit' => $limit));
     $entities = array();
     while ($fields = $dbResult->fetch()) {
         $entityTypeID = isset($fields['ENTITY_TYPE_ID']) ? intval($fields['ENTITY_TYPE_ID']) : 0;
         $entityID = isset($fields['ENTITY_ID']) ? intval($fields['ENTITY_ID']) : 0;
         if (\CCrmOwnerType::IsDefined($entityTypeID) && $entityID > 0) {
             $entities[] = new DuplicateEntity($entityTypeID, $entityID);
         }
     }
     return !empty($entities) ? new Duplicate($this, $entities) : null;
 }