public function hydrate($classNameOrObject, iterable $values): object
    {

        ensure_data($classNameOrObject)
            ->isTypeOf('string', 'object');


        return $this->denormalize($values, $classNameOrObject);
    }