/// <summary>
        /// Unselects all channels from Selected and moves them to Available.
        /// </summary>
        public void UnselectAllChannels()
        {
            var indexChannel = SelectedChannels.FirstOrDefault(s => s.Equals(IndexChannel.Mnemonic));
            var selected     = new List <LogCurveItem>(SelectedChannels);

            if (indexChannel != null)
            {
                selected.Remove(indexChannel);
            }

            selected.ForEach(s => MoveChannel(s, SelectedChannels, AvailableChannels));
        }
        private void RemoveSelectedFromAvailableChannels()
        {
            if (SelectedChannels.Count == 0)
            {
                return;
            }

            var alreadySelectedCurves = new List <LogCurveItem>();

            AvailableChannels.ForEach(a =>
            {
                if (SelectedChannels.FirstOrDefault(sc => sc.Mnemonic.EqualsIgnoreCase(a.Mnemonic)) != null)
                {
                    alreadySelectedCurves.Add(a);
                }
            });
            alreadySelectedCurves.ForEach(r => AvailableChannels.Remove(r));
        }