Zero-length transactions recorded when using get()/put()

I am using UVM transaction debugging in Questa, and it is working ok when using drivers the use the get_next_item()/item_done() tasks. However for my drivers that use get()/put() to deliver a response back to the sequence, it records a zero-length transaction instead of a transaction with the duration of the pin-level stimulus applied by the driver.

I am following the examples in the Driver Sequence API cookbook. I think the problem is that Questa uses start_item() and finish_item() to determine the length of a transaction, and get() immediately unblocks finish_item() so I get a zero-length transaction in the wave window.

Is there another way for my get()/put() drivers to get sequences that would be more compatible with transaction debugging?