public IContainer Build() { var res = constructor(components.Reverse()); foreach (var aware in components.OfType <IContainerAware>()) { aware.SetContainer(res); } return(res); }