private void ExecuteInApartment()
{
var apartmentConfiguration = memory.GetItem<Settings>().ApartmentState;
if (apartmentConfiguration != null) {
var desiredState = (ApartmentState)Enum.Parse(typeof(ApartmentState), apartmentConfiguration);
if (Thread.CurrentThread.GetApartmentState() != desiredState) {
var thread = new Thread(Run);
thread.SetApartmentState(desiredState);
thread.Start();
thread.Join();
return;
}
}
Run();
}