class UpdateRecordsStep extends ProcessorStep<RECORD[]> implements StatsProvider {

    @Override
    protected void process( RECORD[] batch, BatchSender sender )
    {
        LongFunction<IdSequence> idSequence = prepareIdSequence.apply( store );
        int recordsUpdatedInThisBatch = 0;
        for ( RECORD record : batch )
        {
            if ( record != null && record.inUse() && !IdValidator.isReservedId( record.getId() ) )
            {
                store.prepareForCommit( record, idSequence.apply( record.getId() ) );
                store.updateRecord( record );
                recordsUpdatedInThisBatch++;
            }
        }
        recordsUpdated.add( recordsUpdatedInThisBatch );
    }

    public  UpdateRecordsStep( StageControl control, Configuration config, RecordStore<RECORD> store,
            PrepareIdSequence prepareIdSequence );

}