long startPosition(final long recordingId)
    {
        final int offset = recordingDescriptorOffset(recordingId) +
            DESCRIPTOR_HEADER_LENGTH + startPositionEncodingOffset();

        final long startPosition = fieldAccessBuffer.getLongVolatile(offset);

        return nativeOrder() == BYTE_ORDER ? startPosition : Long.reverseBytes(startPosition);
    }
@Test
    void startPositionShouldUpdateChecksum()
    {
        final Checksum checksum = crc32();
        try (Catalog catalog = new Catalog(archiveDir, null, 0, CAPACITY, clock, checksum, segmentFileBuffer))
        {
            assertChecksum(catalog, recordingThreeId, 352, 0, null);

            catalog.startPosition(recordingThreeId, 123);

            assertChecksum(catalog, recordingThreeId, 352, -160510802, checksum);
        }
    }