Desc:
There is a component with list data:
public class TestPrefab : MonoBehaviour
{
public List<string> DataList;
}
Then I create a prefab with this component like this:

Then I drag the prefab into scene, modify the component data like this ("Data1"=>"Data1_Modified") (I wont apply changes because I just wanna keep it as a prefab instance, which has some changes from the origin prefab):

Then back to the prefab stage, delete the first data:

Then the prefab instance in the scene comes to:

How does it happen?
unity save this modification like this:

so unity just change the first data in the list to "Data1_Modified", rather than change "Data1" to "Data1_Modified".
Question:
Is there any elegant method to avoid this unpredicted behavior?
