protected void FixupArrayRefs(object fixup)
{
Fixup f = (Fixup)fixup;
Array array = (Array)f.Source;
for (int i = 0; i < array.Length; i++)
{
string id = f.Ids[i];
if (id == null) continue;
object o = GetTarget(id);
try
{
array.SetValue(o, i);
}
catch (InvalidCastException)
{
throw new InvalidOperationException(SR.Format(SR.XmlInvalidArrayRef, id, o.GetType().FullName, i.ToString(CultureInfo.InvariantCulture)));
}
}
}