public bool UnInitialize()
 {
     lock (this)
     {
         HostUnInitialize();
         _platform = null;
     }
     return true;
 }
        public bool Initialize(FxpaBase platform)
        {
            lock (this)
            {
                _platform = platform;
                //HostInitialize(new List<ArbiterClientId?>(new ArbiterClientId? [] { _platform.SubscriptionClientID } ));
                HostInitialize();
            }

            return true;
        }
        public bool Initialize(FxpaBase platform)
        {
            //SystemMonitor.CheckThrow(_platform == null);

            if (OnInitialize(platform) == false)
            {
                return false;
            }
            fxpaBase = platform;

            return true;
        }
 protected bool OnInitialize(FxpaBase platform)
 {
     UpdateAvailableSourceSessions();
     return true;
 }
        public bool UnInitialize()
        {
            if (IsInitialized == false)
            {
                return true;
            }

            bool result = OnUnInitialize();
            _platform = null;

            return result;
        }
 protected virtual bool OnInitialize(FxpaBase platform)
 {
     return true;
 }
        public bool UnInitialize()
        {
            if (IsInitialized == false)
            {
                return true;
            }

            bool result = OnUnInitialize();
            fxpaBase = null;

            return result;
        }