/// <summary> /// Creates a valid right side IValue, according to the target variable (left side) /// </summary> /// <param name="variable">The target variable</param> /// <param name="duplicate">Indicates that a duplication of the variable should be performed</param> /// <returns></returns> public override Values.IValue RightSide(Variables.IVariable variable, bool duplicate) { ListValue retVal = this; // Complete the list with empty values Types.Collection collectionType = variable.Type as Types.Collection; if (collectionType != null) { Values.EmptyValue emptyValue = EFSSystem.EmptyValue; while (retVal.Val.Count < collectionType.getMaxSize()) { retVal.Val.Add(emptyValue); } } retVal.Enclosing = variable; return(retVal); }