// 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(12);
bb.putInt( rr.discipline );
bb.putLong( rr.refTime );
crc32.update(bb.array());
pdsMap.put( crc32.getValue(), i );