private static void DeserializeQuestion(XElement questionElement, Slide slide)
        {
            var type     = questionElement.Name.LocalName;
            var question = new Question(type);

            question.Version = questionElement.Attribute("Version").Value;
            question.Input   = questionElement.Element("Inputs").Elements();
            question.Output  = new Output();

            var validationElement = questionElement.Element("Outputs").Element("Validation");

            if (validationElement != null)
            {
                question.Validation.MultiValueValidator   = FindMultiValueValidators(validationElement).ToList();
                question.Validation.SimpleValueValidator  = FindSimpleValueValidator(validationElement).ToList();
                question.Validation.ComplexValueValidator = FindComplexValueValidators(validationElement).ToList();

                var value = questionElement.Element("Outputs").Element("Value");

                if (value != null)
                {
                    var valueElements = value.Elements();
                    foreach (var valueElement in valueElements)
                    {
                        DeserializeOutput(valueElement, question.Output);
                    }
                }
            }

            slide.AddQuestion(question);
        }