Register adaptor completing sequence problems

I have noticed something peculiar about the driver i am using. Previously i used something like:



    seq_item_port.get_next_item(req);
    $cast(rsp, req.clone());
    rsp.set_id_info(req);
    drive_transfer(rsp);
    seq_item_port.item_done(rsp);


however in this testbench the driver does something like:


DRIVER_ITEM_REQ transaction;
seq_item_port.get_next_item(transaction);
output_port.write(transaction);
drive_transaction(transaction);
seq_item_port.item_done();


I suspect there something going here. As it appears the the sequencer is waiting on part of the tlm transaction.

thoughts always welcome