internal void UpdateJournalItem(JournalItem item)
        {
            lock (this.journalLock)
            {
                this.stream.Position = item.StreamJournalOffset;
#if BINARY_SERIALIZATION
                this.formatter.Serialize(this.stream, item);
#else
                var transfer = item as Transfer;

                if (null != transfer)
                {
                    this.WriteObject(this.transferSerializer, transfer);
                    return;
                }

                var progressChecker = item as TransferProgressTracker;
                if (null != progressChecker)
                {
                    this.WriteObject(this.progressCheckerSerializer, progressChecker);
                    return;
                }

                var serializableContinuationToken = item as SerializableListContinuationToken;
                if (null != serializableContinuationToken)
                {
                    this.WriteObject(this.continuationTokenSerializer, serializableContinuationToken);
                    return;
                }
#endif
            }
        }
        internal void UpdateJournalItem(JournalItem item)
        {
            lock (this.journalLock)
            {
                this.stream.Position = item.StreamJournalOffset;
#if BINARY_SERIALIZATION
                this.formatter.Serialize(this.stream, item);
#else
                var transfer = item as Transfer;

                if (null != transfer)
                {
                    this.WriteObject(this.transferSerializer, transfer);
                }
                else
                {
                    this.WriteObject(this.progressCheckerSerializer, item as TransferProgressTracker);
                }
#endif
            }
        }