public function validateTypes($value, $schema = null, $path = null, $i = null)
 {
     // check array
     if (is_array($value) || $value instanceof \ArrayAccess) {
         $this->checkArray($value, $schema, $path, $i);
     }
     parent::validateTypes($value, $schema = null, $path = null, $i = null);
 }