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);
            }
        }