public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            try
            {
                string inputText = value as string;
                (var seq, string error) = SequenceGrammar.Parse(inputText);

                return(new ValidationResult(seq != null && string.IsNullOrEmpty(error), error));
            }
            catch (Exception ex)
            {
                return(new ValidationResult(false, ex.Message));
            }
        }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string inputText = value as string;

            if (inputText != null)
            {
                (var seq, string error) = SequenceGrammar.Parse(inputText);
                if (seq != null)
                {
                    return(seq);
                }
            }

            return(null);
        }