public override void Execute() { if (!StateCommuter.Current.IsGetObject) { StateCommuter.CreateInstanceOfCurrentXamlTypeIfNotCreatedBefore(); StateCommuter.PutNameToCurrentInstanceIfAny(); var instance = StateCommuter.Current.Instance; if (instance is IMarkupExtension) { ProcessCurrentInstanceValueWithMarkupExtension(); } else if (!StateCommuter.WasAssociatedRightAfterCreation) { StateCommuter.AssociateCurrentInstanceToParent(); } StateCommuter.RegisterInstanceNameToNamescope(); lifyCycleListener.OnAfterProperties(instance); lifyCycleListener.OnEnd(instance); } setResult(StateCommuter); StateCommuter.DecreaseLevel(); }