/// <summary>Initializes this object.</summary>
        public static void Initialize()
        {
            if (!_initialized)
            {
                lock (_initializationLock)
                {
                    if (!_initialized)
                    {
                        try
                        {
                            _sessionManager = new SessionManager();

                            _notificationSender = new NotificationSender(_sessionManager);

                            _t2gManager = T2GManagerContainer.T2GManager;

                            _transmitThread      = new Thread(new ThreadStart(OnTransmitEvent));
                            _transmitThread.Name = "Journ. Transmit";

                            _t2gManager.SubscribeToElementChangeNotification(SubscriberId, new EventHandler <ElementEventArgs>(OnElementInfoChanged));
                            _t2gManager.SubscribeToFilePublishedNotification(SubscriberId, new EventHandler <FilePublishedNotificationArgs>(OnFilesPublished));
                            _t2gManager.SubscribeToFileReceivedNotification(SubscriberId, new EventHandler <FileReceivedArgs>(OnFileReceived));

                            _transmitThread.Start();
                        }
                        catch (System.Exception e)
                        {
                            LogManager.WriteLog(TraceType.ERROR, e.Message, "PIS.Ground.Infotainment.Journaling.JournalingService.Initialize", e, EventIdEnum.InfotainmentJournaling);
                        }

                        _initialized = true;
                    }
                }
            }
        }