public SingleObjectCheckpoint Copy()
        {
            SingleObjectCheckpoint copyObj = new SingleObjectCheckpoint();
            lock (this.TransferWindowLock)
            {
                copyObj.EntryTransferOffset = this.EntryTransferOffset;
                copyObj.TransferWindow = new List<long>(this.TransferWindow);
            }

            return copyObj;
        }
        public SingleObjectCheckpoint Copy()
        {
            SingleObjectCheckpoint copyObj = new SingleObjectCheckpoint();

            lock (this.TransferWindowLock)
            {
                copyObj.EntryTransferOffset = this.EntryTransferOffset;
                copyObj.TransferWindow      = new List <long>(this.TransferWindow);
            }

            return(copyObj);
        }