/// <summary>
        /// Event: Get detailed information about a friend.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event Args</param>
        override protected void lstFriends_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            #region The code required for diagnosis - measures the time
            var spectator = new Stopwatch();
            spectator.Start();
            #endregion

            if (lstFriends.SelectedItem == null)
                return;

            var frm = new InfoWindow
            {
                StartedRedis = _services.RedisIsStarted,
                // Do not show on the taskbar.
                ShowInTaskbar = false
            };

            Connected(_listOfFriends[lstFriends.SelectedIndex], frm);
            #region The code required for diagnosis - measures the time
            spectator.Stop();
            var ts = spectator.Elapsed;
            frm.TimeParam = $"Lead time: {ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds/10:00}";
            #endregion
            frm.Show();
        }
        /// <summary>
        /// Event: Get detailed information about a friend.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event Args</param>
        private void lstFriends_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            #region The code required for diagnosis - measures the time
            var spectator = new Stopwatch();
            spectator.Start();
            #endregion

            if (lstFriends.SelectedItem == null)
                return;

            var userId = _listOfFriends[lstFriends.SelectedIndex];
            var frm = new InfoWindow {ShowInTaskbar = false /* Do not show on the taskbar. */};

            if (userId <= 100000)
            {
                using (var context = new Storage1Context())
                {
                    ConnectToServer1(context, userId, frm);
                }
            }
            else if (userId > 100000 && userId < 200000)
            {
                using (var context = new Storage2Context())
                {
                    ConnectToServer2(context, userId, frm);
                }
            }
            else if (userId > 200000 && userId < 300000)
            {
                using (var context = new Storage3Context())
                {
                    ConnectToServer3(context, userId, frm);
                }
            }
            else if (userId > 300000 && userId < 400000)
            {
                using (var context = new Storage4Context())
                {
                    ConnectToServer4(context, userId, frm);
                }
            }
            else if (userId > 400000 && userId < 500000)
            {
                using (var context = new Storage5Context())
                {
                    ConnectToServer5(context, userId, frm);
                }
            }

            #region The code required for diagnosis - measures the time
            spectator.Stop();
            var ts = spectator.Elapsed;
            frm.TimeParam = $"Lead time: {ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds/10:00}";
            #endregion
            frm.Show();
        }