def METHOD_NAME(self, volumes_user_info, g4_world_log_vol):
    uiv = volumes_user_info
    for vu in uiv.values():
        # create the volume
        vol = gate.new_element(vu, self.simulation_engine.simulation)
        # construct the G4 Volume
        vol.construct(self, g4_world_log_vol)
        # store at least one PhysVol
        if len(vol.g4_physical_volumes) == 0:
            vol.g4_physical_volumes.append(vol.g4_physical_volume)
        # keep the volume to avoid being destructed
        if g4_world_log_vol is not None:
            n = f"{g4_world_log_vol.GetName()}_{vu.name}"
            self.g4_volumes[n] = vol
        else:
            self.g4_volumes[vu.name] = vol