protected function checkRootEntityMismatches($rootEntityID, $matchHash, array $entities)
 {
     $map = array();
     /** @var DuplicateEntity $entity */
     foreach ($entities as $entity) {
         $entityID = $entity->getEntityID();
         if ($entityID === $rootEntityID) {
             continue;
         }
         $entityCriterion = $entity->getCriterion();
         $entityMatchHash = $entityCriterion ? $entityCriterion->getMatchHash() : $matchHash;
         if (!isset($map[$entityMatchHash])) {
             $map[$entityMatchHash] = array();
         }
         $map[$entityMatchHash][] = $entityID;
     }
     foreach ($map as $entityMatchHash => $entityIDs) {
         $mismatches = array_intersect($entityIDs, DuplicateIndexMismatch::getMismatches($this->getEntityTypeID(), $rootEntityID, $this->typeID, $entityMatchHash, $this->getUserID(), 100));
         if (count($entityIDs) > count($mismatches)) {
             return true;
         }
     }
     return false;
 }