Oracle automatically insert record in multirecord block part 2

My table looks like this:

+-------------------+
|Name               |
+-------------------+
|Name1              |
|Name2              |
|Name3              |
|Name4              |
|Name1Jr            |
|Name2Jr            |
|Name4Jr            |
+-------------------+

My multirow block looks like:

enter image description here

What I wanted to know is how can I insert a record that has the same name with Jr after I insert a name. For example, I inserted Name2, it will also insert Name2Jr into the multirow block. Like this:

enter image description here

Note: I need to get the value of the automatically inserted data from database.

I tried in WHEN-NEW-RECORD-INSTANCE trigger(the answer of Sir @Littlefoot on my last question):

if :system.trigger_record = 1 and :test.name is null then
    -- do nothing if it is the first record in a form
    null;
else
    duplicate_record;
    if substr(:test.name, -2) = 'Jr' then
        -- you've duplicated a record which already has 'Jr' at the end - don't do it
        :test.name := null;
    else       
        -- concatenate 'Jr' to the duplicated record
        :test.name := :test.name || 'Jr';
    end if;      
end if;  

And now, what I want is to know if there is a way to do it on WHEN-VALIDATE-RECORD trigger. The problem there is that the duplicate_record can’t be used in WHEN-VALIDATE-RECORD trigger. How to do it using procedure, function or something? Thanks in advance!

Oracle automatically insert record in multirecord block part 2