public void Move(int vTo, GapList <T> source, int vFrom, int n) { if (this == source && vTo == vFrom || n <= 0) { return; } this.Normalize(vTo); source.Get(vFrom, n, this); if (this == source && vTo < vFrom) { vFrom += n; } source.RemoveRange(vFrom, n); }