private void DoNewlyRegisteredObjectFixups(ObjectHolder holder)
{
if (holder.CanObjectValueChange)
{
return;
}
LongList dependentObjects = holder.DependentObjects;
if (dependentObjects == null)
{
return;
}
dependentObjects.StartEnumeration();
while (dependentObjects.MoveNext())
{
long objectID = dependentObjects.Current;
ObjectHolder objectHolder = this.FindObjectHolder(objectID);
objectHolder.DecrementFixupsRemaining(this);
if (objectHolder.DirectlyDependentObjects == 0)
{
if (objectHolder.ObjectValue != null)
{
this.CompleteObject(objectHolder, true);
}
else
{
objectHolder.MarkForCompletionWhenAvailable();
}
}
}
}