public static function register($entityTypeID, $entityID, $title, $isRaw = true)
 {
     if (!is_int($entityTypeID)) {
         throw new Main\ArgumentTypeException('entityTypeID', 'integer');
     }
     if (!is_int($entityID)) {
         throw new Main\ArgumentTypeException('entityID', 'integer');
     }
     if (!is_string($title)) {
         throw new Main\ArgumentTypeException('title', 'string');
     }
     self::unregister($entityTypeID, $entityID);
     if ($isRaw) {
         $title = self::prepareCode($title);
     }
     if ($title === '') {
         return;
     }
     DuplicateOrganizationMatchCodeTable::add(array('ENTITY_TYPE_ID' => $entityTypeID, 'ENTITY_ID' => $entityID, 'TITLE' => $title));
     $matches = array('TITLE' => $title);
     DuplicateEntityMatchHash::unregisterEntity($entityTypeID, $entityID, DuplicateIndexType::ORGANIZATION);
     DuplicateEntityMatchHash::register($entityTypeID, $entityID, DuplicateIndexType::ORGANIZATION, self::prepareMatchHash($matches), true);
 }