public virtual void Copy(long source, long destination, int length) { byte[] data = new byte[length]; long oldPos = Position; Position = source; ReadAll(data, 0, length); Position = destination; Write(data, 0, length); Position = oldPos; }