/// <summary>
 /// CTOR used by <see cref="Clone"/>
 /// </summary>
 /// <param name="cloneFrom">Variable to be cloned</param>
 private DmnResultVariable(DmnResultVariable cloneFrom)
 {
     if (cloneFrom == null)
     {
         throw new ArgumentNullException(nameof(cloneFrom));
     }
     Name             = cloneFrom.Name;
     Type             = cloneFrom.Type;
     IsInputParameter = cloneFrom.IsInputParameter;
     if (cloneFrom.Value is ICloneable cloneableValue)
     {
         Value = cloneableValue.Clone();
     }
     else
     {
         Value = cloneFrom.Value;
     }
 }
        /// <summary>
        /// Clones the variable
        /// </summary>
        /// <returns>Cloned variable</returns>
        public virtual DmnResultVariable Clone()
        {
            var retVal = new DmnResultVariable(this);

            return(retVal);
        }