/**
  * {@inheritdoc}
  */
 public function supports($object, $targetClass)
 {
     if (is_array($object) || $object instanceof \Traversable) {
         foreach ($object as $element) {
             if (!$this->modelTransformer->supports($element, $targetClass)) {
                 return false;
             }
         }
         return true;
     }
     return false;
 }
 function it_should_not_support_transformation_if_at_least_one_object_can_not_be_transformed(ModelTransformer $modelTransformer)
 {
     $modelTransformer->supports(new \DateTime(), \stdClass::class)->willReturn(true);
     $modelTransformer->supports(new \stdClass(), \stdClass::class)->willReturn(false);
     $this->supports([new \DateTime(), new \stdClass()], \stdClass::class)->shouldBe(false);
 }