public bool AppliesTo(Type implementationType, InitializationContext context)
            {
                var typeHierarchy = Helpers.GetTypeHierarchyFor(implementationType);

                return typeHierarchy.Contains(this.serviceType);
            }
 public Action<T> CreateAction<T>(InitializationContext context)
 {
     return Helpers.CreateAction<T>(this.instanceInitializer);
 }
 private bool IsDecorator(Type openGenericServiceType, Type implemenationType)
 {
     var ctor = this.SelectImplementationTypeConstructorOrNull(openGenericServiceType, implemenationType);
     return ctor != null && Helpers.IsDecorator(openGenericServiceType, ctor);
 }