/**
  * Checks properties values
  *
  * @throws \Exception   if some property contains incorrect value.
  */
 protected function checkProperties()
 {
     if (!$this->getRequestReader() instanceof RequestReader) {
         $this->throwException('Class for RequestReader should be inherit from "%baseClass%" ' . '(see SmartLoad option/property "%option%")', array('%baseClass%' => RequestReader::className(), '%option%' => 'requestReaderClassName'));
     }
     $supportedHashAlgorithms = hash_algos();
     if (is_string($this->hashMethod) && !in_array($this->hashMethod, $supportedHashAlgorithms)) {
         $this->throwException('Incorrect hashing method (see SmartLoad option/property "%option%"). ' . 'Supported hash algorithms: %hashAlgorithms% ', array('%hashAlgorithms%' => join(', ', $supportedHashAlgorithms), '%option%' => 'hashMethod'));
     }
     // todo check other properties
 }