public override IList <ArraySegment <byte> > GetByteSegments(T obj, ByteSegmentLocators.IByteSegmentLocator nextSegmentLocator, int segmentMaxSize) { var strm = new SegmentStream(size => nextSegmentLocator.GetNextSegment(size > segmentMaxSize ? segmentMaxSize : size)); _serializer.WriteObject(obj, strm); return(strm.GetSegments()); }