public void OverrideInstance(object instance) { StateCommuter.RaiseLevel(); StateCommuter.Current.Instance = instance; var collection = instance as ICollection; if (collection != null) { StateCommuter.Current.Collection = collection; } }