public virtual ModifierBase CreateClassSelector(Type classSelectorType, String className)
        {
            Assume.NotNull(classSelectorType, nameof(classSelectorType));
            Assume.NotBlank(className, nameof(className));

            var constructors       = classSelectorType.GetConstructors();
            var defaultConstructor = constructors.FirstOrDefault(
                constructor => {
                var args = constructor.GetParameters().ToArray();
                return(args.Length == 1 && args.First().ParameterType == typeof(String));
            });

            if (defaultConstructor == null)
            {
                throw new Exception("ClassSelector type needs to have one-parameter constructor.");
            }

            return(defaultConstructor.Invoke(new[] { className }) as ModifierBase);
        }