public void ApplyTemplate(TableTemplate template)
        {
            if (null == template)
            {
                throw new ArgumentNullException(nameof(template));
            }

            Height = TableTemplate.Height;

            var listTemplate = new TunableListTemplate
            {
                HeaderClickable = template.HeaderClickable,
                CommandMenu     = template.CommandMenu
            };

            listTemplate.Columns.AddRange(template.Columns);
            listTemplate.Icons.AddRange(template.Icons);

            listTemplate.SetTemplateInternals(template.TemplateName, template.BaseDirectory);

            ApplyTemplate(listTemplate);
        }