public MergeMapWindow(string filename) { objects = new Containers.SuppressableObservableCollection <MergeMap.Object>(); List <MergeMap.Object> temp_merge = new List <MergeMap.Object>(); EditorSubsystemManaged.getInstance().QueueActionAndBlock(new Action(() => { StateSerializer ss = new StateSerializer(); StateObjDescVector objs = ss.LoadStateInformation(filename, false); foreach (StateObjDesc desc in objs) { temp_merge.Add(new MergeMap.Object { Name = desc.name, HasParent = desc.hasParent, ShouldMerge = true }); } })); objects.AddRange(temp_merge); InitializeComponent(); }