/// <summary> /// If bound, return YP.makeCopy for the value, else return copyStore.getCopy(this). /// However, if copyStore is null, just return this. /// </summary> /// <param name="copyStore"></param> /// <returns></returns> public object makeCopy(Variable.CopyStore copyStore) { if (_isBound) return YP.makeCopy(getValue(), copyStore); else return copyStore == null ? this : copyStore.getCopy(this); }