Uvm_config_db inst_name constructed with names given to objects in new()/create() methods

I ran into to check source code of uvm_object and found the following method

function uvm_object::new (string name="");

  m_inst_id = m_inst_count++;
  m_leaf_name = name;
endfunction

So, I think that local fields of uvm components named m_leaf_name are utilized when constructing uvm hierarchy? If yes, which uvm base element and its method(s) finally build the uvm hierarchy?