How do we use the built in uvm register sequences when using the get_item() parent call in the adapter:reg2bus() task

Using the Register/adapter Context of the verification academy uvm-cookbook-registers-guide-verification-academy.pdf pg 14.
This document talks about using the code:
virtual function uvm_sequence_item reg2bus(const ref uvm_reg_bus_op rw);
uvm_reg_item item;
item = get_item;
if (!$cast(baseRegSeq, item.parent))
`uvm_error(“reg2bus_adapter::reg2bus”, “Parent casting failed”)
// then you can use variables from the parent to control the reg2bus process.


To call a UVM Register Built-in sequence the following is run.

uvm_reg_hw_reset_seq rst_seq;
rst_seq = uvm_reg_hw_reset_seq::type_id::create(“rst_seq”);
rst_seq.model = rm;
rst_seq.start(m_sequencer);

The problem is we get the following error:
reporter [reg2bus_adapter::reg2bus] Parent casting failed.

So, the built in sequences do not provide a method to pass in the .parent(this) which is needed for the above casing to work.

Can you provide a method to bypass this error when using the uvm built-in sequences?