void (@NotNull R record) { if (!record.getHash().equals(myLastHash)) { processCollectedRecords(); } myLastHash = record.getHash(); myHashToRecord.putValue(record.getHash(), record); String[] parents = record.getParentsHashes(); if (parents.length == 0 || parents.length == myHashToRecord.get(record.getHash()).size()) { processCollectedRecords(); } }