RandomAccessFile raf = getOrCreateRaf(Thread.currentThread(), location.getDataFileId());
if (seekToLocation(raf, location)) {
long position = raf.getFilePointer();
location.setPointer(raf.readInt());
location.setSize(raf.readInt());
location.setType(raf.readByte());
if (location.getSize() > 0) {
location.setData(readLocationData(location, raf));
raf.seek(position);
return location;
} else {