long segmentAtByteOffset(final long findBytePos, final boolean lowerBound) throws IOException {
        // Seek past EOF?
        if (findBytePos > getDataSize()) {
            return -1;
        }
        final long workingSegment = totalSegmentCount;
        return segmentAtByteOffset(findBytePos, 0, workingSegment, lowerBound);
    }
Look for the segment at a given offset ... if lower bound is true then it
will look for the lowest one skipping back over any empty segments
otherwise it will skip forward.
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/RASegmentInputStream.java