Question related to uvm_sequence input

HI all
i am confuse with uvm_sequence.

class packet extends uvm_sequence_item
**************
**************
endclass

class packet_sequence extends uvm_sequence #(packet)
********************
*******************
*******************
endclass

then , i want to modify packet. Therefore i made a new packet class.

class packet_new extends packet
*************
*************
endclass

Do i need to change [class packet_sequence extends uvm_sequence #(packet)]
to [class packet_sequence extends uvm_sequence #(packet_new)]?

If no need to change, what is the reason?
Thanks a lot !

In reply to peter:

Not required if factory registration and overrides are used.

  1. Register packet, packet_new with factory,
  2. Override packet with packet_new in the test before starting packet_sequence.

Refer this cookbook link for more details.