public static void Reverse(Point3DCollection curve) { Point3DCollection copied = curve.Clone(); curve.Clear(); foreach (Point3D p in copied.Reverse()) { curve.Add(p); } copied = null; }