public virtual void AdjustProblemDataProperties(IDataAnalysisProblemData problemData)
        {
            DataAnalysisProblemData data = problemData as DataAnalysisProblemData;

            if (data == null)
            {
                throw new ArgumentException("The problem data is not a data analysis problem data. Instead a " + problemData.GetType().GetPrettyName() + " was provided.", "problemData");
            }

            string errorMessage;

            if (!data.IsProblemDataCompatible(this, out errorMessage))
            {
                throw new InvalidOperationException(errorMessage);
            }

            foreach (var inputVariable in InputVariables)
            {
                var variable = data.InputVariables.FirstOrDefault(i => i.Value == inputVariable.Value);
                InputVariables.SetItemCheckedState(inputVariable, variable != null && data.InputVariables.ItemChecked(variable));
            }

            TrainingPartition.Start = TrainingPartition.End = 0;
            TestPartition.Start     = 0;
            TestPartition.End       = Dataset.Rows;
        }
 protected DataAnalysisProblemData(DataAnalysisProblemData original, Cloner cloner)
     : base(original, cloner)
 {
     isEmpty = original.isEmpty;
     RegisterEventHandlers();
 }
 protected DataAnalysisProblemData(DataAnalysisProblemData original, Cloner cloner)
   : base(original, cloner) {
   isEmpty = original.isEmpty;
   RegisterEventHandlers();
 }