Null object error

I am getting a null object error when I am using parameter.get_val() in the below case parameter handle declared in B_Monitor.
can anyone please explain to me why I can’t use it like this with LRM references?
here I am declaring coverage in the same class where I contractor (new()) and sample it

class A_Monitor extends B_Monitor;

covergroup abcd with function sample(abcItem Item);
xyz:coverpoint Item.msg
bins MSG_OFF={Pkg::MSG_code_OFF} with (item==Pkg::MSG_CODE_OFF &
(parameter.get_val(“TO_ACK”)) ==0);
}
endgroup: abcd

function A_Monitor::new (string name, uvm_component parent);
super.new(name, parent);
abcd = new();
endfunction: new

virtual task run_phase(uvm_phase phase);
abcd.sample(item)
item_collected_port.write(item);
endtask : run_phase

In reply to Vrajesh_Rojivadiya:

What is “parameter”? It is a reserved keyword in SystemVerilog.