<?php

namespace ContainerEogkWnM;

class ApplicationCollection_a40b613 extends \Webkul\UVDesk\ExtensionFrameworkBundle\Utils\ApplicationCollection implements \ProxyManager\Proxy\VirtualProxyInterface
{
    private $valueHolder76fd1 = null;
    private $initializer95cdd = null;
    private static $publicPropertiesa10b7 = [
        
    ];
    public function organizeCollection()
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'organizeCollection', array(), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return $this->valueHolder76fd1->organizeCollection();
    }
    public function getCollection()
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'getCollection', array(), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return $this->valueHolder76fd1->getCollection();
    }
    public function findApplicationsByVendor($vendor)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'findApplicationsByVendor', array('vendor' => $vendor), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return $this->valueHolder76fd1->findApplicationsByVendor($vendor);
    }
    public function findApplicationsByPackage(\Webkul\UVDesk\ExtensionFrameworkBundle\Definition\Package\PackageInterface $package)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'findApplicationsByPackage', array('package' => $package), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return $this->valueHolder76fd1->findApplicationsByPackage($package);
    }
    public function findApplicationByFullyQualifiedName($vendorName, $packageName, $applicationQualifiedName) : ?\Webkul\UVDesk\ExtensionFrameworkBundle\Definition\Application\ApplicationInterface
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'findApplicationByFullyQualifiedName', array('vendorName' => $vendorName, 'packageName' => $packageName, 'applicationQualifiedName' => $applicationQualifiedName), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return $this->valueHolder76fd1->findApplicationByFullyQualifiedName($vendorName, $packageName, $applicationQualifiedName);
    }
    public static function staticProxyConstructor($initializer)
    {
        static $reflection;
        $reflection = $reflection ?? new \ReflectionClass(__CLASS__);
        $instance   = $reflection->newInstanceWithoutConstructor();
        \Closure::bind(function (\Webkul\UVDesk\ExtensionFrameworkBundle\Utils\ApplicationCollection $instance) {
            unset($instance->applications, $instance->fullyQualifiedApplicationNames, $instance->applicationsByFullyQualifiedName, $instance->applicationsByQualifiedPackageName, $instance->isOrganized);
        }, $instance, 'Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection')->__invoke($instance);
        $instance->initializer95cdd = $initializer;
        return $instance;
    }
    public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container, \Webkul\UVDesk\ExtensionFrameworkBundle\Definition\MappingResource $mappingResource, \Webkul\UVDesk\ExtensionFrameworkBundle\Utils\PackageCollection $packageCollection)
    {
        static $reflection;
        if (! $this->valueHolder76fd1) {
            $reflection = $reflection ?? new \ReflectionClass('Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection');
            $this->valueHolder76fd1 = $reflection->newInstanceWithoutConstructor();
        \Closure::bind(function (\Webkul\UVDesk\ExtensionFrameworkBundle\Utils\ApplicationCollection $instance) {
            unset($instance->applications, $instance->fullyQualifiedApplicationNames, $instance->applicationsByFullyQualifiedName, $instance->applicationsByQualifiedPackageName, $instance->isOrganized);
        }, $this, 'Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection')->__invoke($this);
        }
        $this->valueHolder76fd1->__construct($container, $mappingResource, $packageCollection);
    }
    public function & __get($name)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__get', ['name' => $name], $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        if (isset(self::$publicPropertiesa10b7[$name])) {
            return $this->valueHolder76fd1->$name;
        }
        $realInstanceReflection = new \ReflectionClass('Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection');
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder76fd1;
            $backtrace = debug_backtrace(false, 1);
            trigger_error(
                sprintf(
                    'Undefined property: %s::$%s in %s on line %s',
                    $realInstanceReflection->getName(),
                    $name,
                    $backtrace[0]['file'],
                    $backtrace[0]['line']
                ),
                \E_USER_NOTICE
            );
            return $targetObject->$name;
        }
        $targetObject = $this->valueHolder76fd1;
        $accessor = function & () use ($targetObject, $name) {
            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();
        return $returnValue;
    }
    public function __set($name, $value)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__set', array('name' => $name, 'value' => $value), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        $realInstanceReflection = new \ReflectionClass('Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection');
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder76fd1;
            $targetObject->$name = $value;
            return $targetObject->$name;
        }
        $targetObject = $this->valueHolder76fd1;
        $accessor = function & () use ($targetObject, $name, $value) {
            $targetObject->$name = $value;
            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();
        return $returnValue;
    }
    public function __isset($name)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__isset', array('name' => $name), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        $realInstanceReflection = new \ReflectionClass('Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection');
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder76fd1;
            return isset($targetObject->$name);
        }
        $targetObject = $this->valueHolder76fd1;
        $accessor = function () use ($targetObject, $name) {
            return isset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();
        return $returnValue;
    }
    public function __unset($name)
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__unset', array('name' => $name), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        $realInstanceReflection = new \ReflectionClass('Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection');
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder76fd1;
            unset($targetObject->$name);
            return;
        }
        $targetObject = $this->valueHolder76fd1;
        $accessor = function () use ($targetObject, $name) {
            unset($targetObject->$name);
            return;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $accessor();
    }
    public function __clone()
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__clone', array(), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        $this->valueHolder76fd1 = clone $this->valueHolder76fd1;
    }
    public function __sleep()
    {
        $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, '__sleep', array(), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
        return array('valueHolder76fd1');
    }
    public function __wakeup()
    {
        \Closure::bind(function (\Webkul\UVDesk\ExtensionFrameworkBundle\Utils\ApplicationCollection $instance) {
            unset($instance->applications, $instance->fullyQualifiedApplicationNames, $instance->applicationsByFullyQualifiedName, $instance->applicationsByQualifiedPackageName, $instance->isOrganized);
        }, $this, 'Webkul\\UVDesk\\ExtensionFrameworkBundle\\Utils\\ApplicationCollection')->__invoke($this);
    }
    public function setProxyInitializer(?\Closure $initializer = null) : void
    {
        $this->initializer95cdd = $initializer;
    }
    public function getProxyInitializer() : ?\Closure
    {
        return $this->initializer95cdd;
    }
    public function initializeProxy() : bool
    {
        return $this->initializer95cdd && ($this->initializer95cdd->__invoke($valueHolder76fd1, $this, 'initializeProxy', array(), $this->initializer95cdd) || 1) && $this->valueHolder76fd1 = $valueHolder76fd1;
    }
    public function isProxyInitialized() : bool
    {
        return null !== $this->valueHolder76fd1;
    }
    public function getWrappedValueHolderValue()
    {
        return $this->valueHolder76fd1;
    }
}

if (!\class_exists('ApplicationCollection_a40b613', false)) {
    \class_alias(__NAMESPACE__.'\\ApplicationCollection_a40b613', 'ApplicationCollection_a40b613', false);
}
