public virtual DataPoint Copy() { DataPoint point = new DataPoint(); point.SetLocalVariables(new List <VarType>(localVariables)); point.SetStack(((ListStack <VarType>)stack.Clone())); return(point); }