public DescriptorStub( IEnumerable <IBehavior> viewModelBehaviors = null, IEnumerable <IVMPropertyDescriptor> properties = null ) { viewModelBehaviors = viewModelBehaviors ?? Enumerable.Empty <IBehavior>(); properties = properties ?? Enumerable.Empty <IVMPropertyDescriptor>(); _properties = properties.ToArray(); IBehavior last = Behaviors; foreach (IBehavior b in viewModelBehaviors) { last.Successor = b; last = b; } Behaviors.Initialize(this); foreach (var p in properties) { p.Behaviors.Initialize(this, p); } }