public ServiceReference FindService(Type serviceType)
        {
            ServiceReference serviceReference;
            if (!this.service.TryGetValue(serviceType, out serviceReference))
            {
                var finder = new ServiceReferenceFinder
                                 {
                                         Type = serviceType
                                 };

                this.owner.VisitModules(finder);
                serviceReference = finder.Service;
                if (serviceReference != null)
                {
                    //   serviceReference = new ServiceReferenceFacade<T>(serviceReference);
                    this.service.Add(serviceType, serviceReference);
                }
            }

            return serviceReference;
        }
        public ServiceReference FindService(Type serviceType)
        {
            ServiceReference serviceReference;

            if (!this.service.TryGetValue(serviceType, out serviceReference))
            {
                var finder = new ServiceReferenceFinder
                {
                    Type = serviceType
                };

                this.owner.VisitModules(finder);
                serviceReference = finder.Service;
                if (serviceReference != null)
                {
                    //   serviceReference = new ServiceReferenceFacade<T>(serviceReference);
                    this.service.Add(serviceType, serviceReference);
                }
            }

            return(serviceReference);
        }