private void EndWriterLoop(QilNode nd, bool hasOnEnd, Label lblOnEnd) {
XmlILConstructInfo info = XmlILConstructInfo.Read(nd);
// If loop is not involved in Xml construction, then do nothing
if (!info.PushToWriterLast)
return;
// Since results of construction were pushed to writer, there are no values to return
this.iterCurr.Storage = StorageDescriptor.None();
// If loop returns exactly one value, then do nothing further
if (nd.XmlType.IsSingleton)
return;
if (hasOnEnd) {
// Loop over all items in the list, sending each to the output writer
this.iterCurr.LoopToEnd(lblOnEnd);
}
}