private static void GenerateTouchObject(ReaderGenerationContext context, Type formalType)
{
var finish = context.Generator.DefineLabel();
context.PushObjectIdOntoStack();
context.PushDeserializedObjectsCollectionOntoStack();
context.Generator.PushPropertyValueOntoStack <AutoResizingList <object>, int>(x => x.Count);
// if (refId < deserializedObjects.Count) return;
context.Generator.Emit(OpCodes.Blt, finish);
if (CreateObjectGenerator.TryFillBody(context.Generator, formalType, context.TreatCollectionAsUserObject, x =>
{
context.PushObjectReaderOntoStack();
context.PushObjectIdOntoStack();
}))
{
context.Generator.Call <ObjectReader>(x => x.SetObjectByReferenceId(0, null));
}
context.Generator.MarkLabel(finish);
}