Sequence layering

I am trying to add features to the Sequence Layering example described in the cook book (Sequences/Layering | Verification Academy), so that it can support multiple instances of C_Agent. The function connect_to_C_agent in ABC_Layering takes C_agent handler as input and connects to ABC Layer.


  function void env::connect_phase( uvm_phase phase );
    abc.connect_to_C_agent( c_agent );
  endfunction


  function void ABC_layering::connect_to_C_agent( C_agent c );
    c_agent = c;
    c_agent.ap.connect( analysis_export );
  endfunction

Instead of a single agent handler, how can we connect an array of agent handler to ABC_Layering.