private static void TestSerialization(TimelineCoordinates coordinates)
        {
            var writer = new BinaryBufferWriter(1)
            {
                Endianness = Endianness.Big
            };

            TimelineCoordinatesWriter.Write(coordinates, writer);

            var reader = new BinaryBufferReader(writer.Buffer, 0)
            {
                Endianness = Endianness.Big
            };

            var deserialized = TimelineCoordinatesReader.Read(reader);

            deserialized.Positions.Length.Should().Be(coordinates.Positions.Length);

            for (var i = 0; i < deserialized.Positions.Length; i++)
            {
                deserialized.Positions[i].Slice.Should().Be(coordinates.Positions[i].Slice);
                deserialized.Positions[i].Offset.Should().Be(coordinates.Positions[i].Offset);
                deserialized.Positions[i].EventId.Should().Equal(coordinates.Positions[i].EventId);
            }
        }
        private ReadTimelinePayload <T> ParseResponseBody([NotNull] Response response)
        {
            var reader = new BinaryBufferReader(response.Content.Buffer, response.Content.Offset)
            {
                Endianness = Endianness.Big
            };

            var coordinates = TimelineCoordinatesReader.Read(reader);

            var events = EventsBinaryReader.Read(response.Content.Buffer, reader.Position, eventBuilderProvider, log);

            return(new ReadTimelinePayload <T>(events, coordinates));
        }