public LookupManager( IKernel kernel, IDependencyModel[] dependencies ) { m_kernel = kernel; foreach(IDependencyModel dependency in dependencies ) { if (!kernel.HasService( dependency.Service )) { if (!dependency.Optional) { throw new LookupException( dependency.LookupKey, "Kernel can't supply specified service."); } else { continue; } } m_key2handler[ dependency.LookupKey ] = kernel.GetHandlerForService( dependency.Service ); } }