State of the sequence after it has been killed

In reply to chr_sue:

Thanks for the answer.
But, as far as I understand, it’s okay to start the same sequence twice (sequentially) as long as its state is CREATED, STOPPED or FINISHED.
For example, if I comment out ‘this.kill();’ from my example sequence, there will be no error. And that covers both CREATED case and FINISHED case.

virtual task start (uvm_sequencer_base sequencer,
                    uvm_sequence_base parent_sequence = null,
                    int this_priority = -1,
                    bit call_pre_post = 1);

  set_item_context(parent_sequence, sequencer);

  if (!(m_sequence_state inside {CREATED,STOPPED,FINISHED})) begin
    uvm_report_fatal("SEQ_NOT_DONE", 
       {"Sequence ", get_full_name(), " already started"},UVM_NONE);
  end

  // ...

endtask

My question is “why doesn’t my sequence move to STOPPED state after it has been killed?”.