private void UpdateLists(SwitcherConfig config)
        {
            if (_config == config)
            {
                return;
            }

            _config = config;

            _inputList.ClearList(true);
            _outputList.ClearList(true);

            var inputs     = config.Inputs.ToDictionary(conf => conf, conf => AudioFadersViewController.TryGetColor(conf.Color));
            var ipConfList = inputs
                             .Where(item => item.Value != null)
                             .OrderByDescending(item => item.Value.Priority)
                             .ThenBy(item => item.Key.Name)
                             .Select(item => item.Key)
                             .ToList();

            ipConfList.AddRange(inputs.Where(item => item.Value == null).Select(item => item.Key));

            foreach (var input in ipConfList)
            {
                var item = _inputList.AddItem(_switcher.Chassis.Inputs[input.Number], true);
                if (item == null)
                {
                    continue;
                }

                try
                {
                    if (!string.IsNullOrEmpty(input.Color))
                    {
                        item.SetColourTag(AudioFadersViewController.TryGetColor(input.Color).ColorHex);
                    }
                }
                catch
                {
                    item.SetColourTag("#333333");
                }
            }

            var outputs    = config.Outputs.ToDictionary(conf => conf, conf => AudioFadersViewController.TryGetColor(conf.Color));
            var opConfList = outputs
                             .Where(item => item.Value != null)
                             .OrderByDescending(item => item.Value.Priority)
                             .ThenBy(item => item.Key.Name)
                             .Select(item => item.Key)
                             .ToList();

            opConfList.AddRange(outputs.Where(item => item.Value == null).Select(item => item.Key));

            foreach (var output in opConfList)
            {
                var item = _outputList.AddItem(_switcher.Chassis.Outputs[output.Number], true);
                if (item == null)
                {
                    continue;
                }

                try
                {
                    if (!string.IsNullOrEmpty(output.Color))
                    {
                        item.SetColourTag(AudioFadersViewController.TryGetColor(output.Color).ColorHex);
                    }
                }
                catch
                {
                    item.SetColourTag("#333333");
                }
            }

            _inputList.SetListSizeToItemCount();
            _outputList.SetListSizeToItemCount();
        }