public static void SubscribeSync(CimSession cimSession, string cimNamespace)
        {
            try
            {
                string query = QueryInstanceCore();
                //Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Press <Enter> to abort the subscription");
                //Console.ResetColor();
                CancellationTokenSource cts = new CancellationTokenSource();
                CimOperationOptions cimOperationOptions = new CimOperationOptions { CancellationToken = cts.Token };
                IEnumerable<CimSubscriptionResult> queryInstances = cimSession.Subscribe(cimNamespace, "WQL", query, cimOperationOptions);
                IEnumerator<CimSubscriptionResult> queryEnumerator = queryInstances.GetEnumerator();

                Thread waitUserInputThread = new Thread(SubscribeSyncReal);
                waitUserInputThread.Start(queryEnumerator);
                Console.ReadLine();
                cts.Cancel();
                queryEnumerator.Dispose();
            }
            catch (CimException ex)
            {
                PrintCimException(ex);
            }
            catch( Exception ex)
            {
                Console.WriteLine(ex.Message);
            }            
        }