private function notSuitableFactoryFor($object)
    {
        switch ($this->notFoundBehaviour) {
            case self::NOT_FOUND_RETURNS_NULL:
                return null;

            case self::NOT_FOUND_RETURN_SOURCE:
                return $object;

            case self::NOT_FOUND_THROWS_EXCEPTION:
            default:
                throw new Exception\UnsupportedObjectException(sprintf(
                    'Can\'t create a View from object of type "%s"',
                    is_object($object) ? get_class($object) : gettype($object)
                ));
        }
    }