public function findSupportedModelTransformer($object, $targetClass, ContextInterface $context = null)
    {
        if (is_object($object) && ($objectTransformer = $this->findSupportedObjectTransformer(get_class($object), $targetClass))) {
            return $objectTransformer;
        }

        foreach ($this->getModelTransformers() as $modelTransformer) {
            if (($modelTransformer instanceof ContextualModelTransformerInterface) && $modelTransformer->supports($object, $targetClass, $context)) {
                return $modelTransformer;
            }

            if (($modelTransformer instanceof ModelTransformerInterface) && $modelTransformer->supports($object, $targetClass)) {
                return $modelTransformer;
            }

            if ($modelTransformer instanceof ObjectTransformerInterface) {
                continue;
            }
        }

        return null;
    }