Fork within loop with join ALL

Thanks Dave. I am afraid i still dont fully understand the usage of wait fork here. :(

I copied your code below, I understand that using fork/join_none inside of for-loop, and using fork/join(first line and last line of your code) to wait all threads created by for-loop to be completed, but i dont understand why there is still a wait fork statement befor join, does the fork/join ( first line and last line of your code ) already wait for all threads to be completed?

thank you

fork 
  begin : isolating_thread
    for(int index=0;index<14;index++)begin : for_loop
      fork
      automatic int idx=index;
        begin
            `ovm_do_on(sequence_inst,p_sequencer.my_sqr[idx]);
        end
      join_none;
    end : for_loop
  wait fork;
  end : isolating_thread
join