Replicating ' replace ' argument behavior via Instance Override

I have following Code :: Replicating_Replace_Arg_via_Inst_Override

Type Override has argument ::

bit  replace = 1 . 

Via ’ replace ’ argument as default 1 latter Type Overrides take precedence , ’ agent3 ’ is returned by Factory

By default for Instance Override the first registered Override takes precedence i.e ’ agent2 ’ is returned by Factory

I was wondering if UVM 1.1d / 1.2 provides a way under the hood via which the same can be achieved via instance override i.e agent3 is created

Can I alter the default behavior ( First Match wins ) of Instance Override ?

In reply to TC_2017:

You have been asking a lot of questions about different kinds of factory overrides. Do you have a specific use case where this is needed? Otherwise we are dealing with an XY problem.

In reply to dave_59:
Hi Dave ,

I remember reading that using a wildcard ( * ) as actual to string argument ’ inst_path ’ would make an Instance Override work as a Type Override .

( Assuming that ’ parent ’ argument is null )

However what they failed to mention is that the ’ replace ’ argument behavior won’t be replicated .

The question stems from this .

I understand that this question doesn’t make sense practically , but I was simply curious to know if there’s a way .