Update Array Recursively

Hi,

I am trying to update an array of CDTs recursively.

Base Array : 

{
{name:"Alex",rollNumber:null},
{name:"Stephen",rollNumber:3},
{name:"Dave",rollNumber:4},
{name:"Steave",rollNumber:5},
{name:"Rosey",rollNumber:7},
{name:"John",rollNumber:8},
{name:"Nile",rollNumber:10}
}

Now, If I insert number 4  where rollNumber is null , if that number exists in CDT array then all numbers greater than 4 should increase by1 until all duplicates are change to unique number, but all numbers less than 4 should remain unchanged.

This is how numbers should change :

4->5,

5->6

Since there are no duplicates after 6 then increment should stop here,

Updated Array: {
{name:"Stephen",rollNumber:3},
{name:"Alex",rollNumber:4},
{name:"Dave",rollNumber:5},
{name:"Steave",rollNumber:6},
{name:"Rosey",rollNumber:7},
{name:"John",rollNumber:8},
{name:"Nile",rollNumber:10}
},

Please help me with it

  Discussion posts and replies are publicly visible