static public void EnsureStated() { if (PrologGenericDelegateThread == null) { PrologGenericDelegateThread = new Thread(PrologEventLoop); PrologGenericDelegateThread.Name = "PrologEventSerializer"; PrologGenericDelegateThread.TrySetApartmentState(ApartmentState.STA); PrologGenericDelegateThread.IsBackground = true; PrologCLR.RegisterThread(PrologGenericDelegateThread); PrologGenericDelegateThread.Start(); } }