public MappedObject(MappedObject data) {
if (data != null) {
this.ParentId = data.ParentId;
this.Description = data.Description;
this.ChecksumAlgorithmName = data.ChecksumAlgorithmName;
this.Guid = data.Guid;
this.LastChangeToken = data.LastChangeToken;
this.LastLocalWriteTimeUtc = data.LastLocalWriteTimeUtc;
this.LastRemoteWriteTimeUtc = data.LastRemoteWriteTimeUtc;
this.Name = data.Name;
this.RemoteObjectId = data.RemoteObjectId;
this.Type = data.Type;
this.LastContentSize = data.LastContentSize;
this.ActualOperation = data.ActualOperation;
this.Ignored = data.Ignored;
this.IsReadOnly = data.IsReadOnly;
this.Retries = data.Retries ?? new Dictionary<OperationType, int>();
this.LastTimeStoredInStorage = data.LastTimeStoredInStorage;
if (data.LastChecksum == null) {
this.LastChecksum = null;
} else {
this.LastChecksum = new byte[data.LastChecksum.Length];
Buffer.BlockCopy(data.LastChecksum, 0, this.LastChecksum, 0, data.LastChecksum.Length);
}
}
}