public void BubbleBackValues()
{
object lastObj = null;
for (int i = Objects.Count - 1; i >= 0; i--)
{
int ii = i;
if (i < Objects.Count && ii < Fields.Count)
{
if (i == Objects.Count - 1)
{
var field = Fields[ii];
var obj = Objects[i];
field.SetValue(obj, field.GetValue(Objects[i]));
lastObj = obj;
}
else
{
var field = Fields[ii];
var obj = Objects[i];
field.SetValue(obj, lastObj);
lastObj = obj;
}
}
}
}
}