/**
  * @see TypeDescription::checkType()
  */
 function checkType(&$object)
 {
     // Check primitive type.
     if (!parent::checkType($object)) {
         return false;
     }
     // Instantiate and call validator
     import('lib.pkp.classes.validation.' . $this->_validatorClassName);
     assert(class_exists($this->_validatorClassName));
     $validatorConstructorCode = 'return new ' . $this->_validatorClassName . '(' . $this->_validatorArgs . ');';
     $validator = eval($validatorConstructorCode);
     assert(is_a($validator, 'Validator'));
     // Validate the object
     if (!$validator->isValid($object)) {
         return false;
     }
     return true;
 }