CRC32 crc32 = new CRC32();
// initialize pdsMap with already indexed records
int originalSize = recordList.size();
for (int i = 0; i < recordList.size(); i++) {
Grib2WriteIndex.RawRecord rr = recordList.get( i );
crc32.reset();
crc32.update( rr.pdsData );
ByteBuffer bb = ByteBuffer.allocate(8);
bb.putLong( rr.refTime );
crc32.update(bb.array());
pdsMap.put( crc32.getValue(), i );