private function verifyRepository()
 {
     /**
      * verify required device ids
      */
     foreach ($this->userAgentHandlerChain->getHandlers() as $handler) {
         /**
          * @var \Wurfl\Handlers\AbstractHandler
          */
         foreach ($handler::$constantIDs as $requireDeviceId) {
             $device = $this->persistenceProvider->load($requireDeviceId);
             if ($device === null) {
                 throw new ConsistencyException('wurfl.xml load error - device id [' . $requireDeviceId . '] is missing - ' . 'you may need to update the wurfl.xml file to a more recent version');
             }
         }
     }
     /**
      * verify required capabilities
      */
     $requiredCaps = VirtualCapabilityProvider::getRequiredCapabilities();
     /** @var \Wurfl\Device\ModelDeviceInterface $genericDevice */
     $genericDevice = $this->persistenceProvider->load('generic');
     $loadedCaps = array_keys($genericDevice->getCapabilities());
     $missingCaps = array_diff($requiredCaps, $loadedCaps);
     if (count($missingCaps) > 0) {
         throw new ConsistencyException('Missing required WURFL Capabilities: ' . implode(', ', $missingCaps));
     }
     $invalidFallbacks = array_diff(array_keys($this->fallbacks), $this->devices);
     if (count($invalidFallbacks) > 0) {
         foreach ($invalidFallbacks as $invalidFallback) {
             $device = new CustomDevice(array($this->persistenceProvider->load($this->fallbacks[$invalidFallback])));
             throw new ConsistencyException(sprintf('Invalid Fallback %s for the device %s', $invalidFallback, $device->id));
         }
     }
     $this->fallbacks = array();
     $this->devices = array();
 }