RecorderItem CreateRecorderItem(RecorderSettings recorderSettings)
        {
            var info = RecordersInventory.GetRecorderInfo(recorderSettings.GetType());

            var hasError = info == null;

            var recorderItem = new RecorderItem(m_ControllerSettings, recorderSettings, hasError ? null : info.iconName);

            recorderItem.OnEnableStateChanged += enabled =>
            {
                if (enabled)
                {
                    m_RecordingListItem.selection = recorderItem;
                }
            };

            if (hasError)
            {
                recorderItem.state = RecorderItem.State.HasErrors;
            }

            return(recorderItem);
        }