try
{
if (input instanceof RandomAccessReader)
{
RandomAccessReader file = (RandomAccessReader) input;
file.seek(this.dataStart);
if (dataStart + dataSize > file.length())
throw new IOException(String.format("dataSize of %s starting at %s would be larger than file %s length %s",
dataSize, dataStart, file.getPath(), file.length()));
if (checkData && !dataVersion.hasPromotedIndexes)
{