protected override QilNode VisitPICtor(QilBinary ndPI) {
Debug.Assert(XmlILConstructInfo.Read(ndPI).PushToWriterFirst, "PI construction should always be pushed to writer.");
// Always call XmlQueryOutput.WriteStartPI
this.helper.LoadQueryOutput();
NestedVisitEnsureStack(ndPI.Left);
this.helper.CallWriteStartPI();
// Recursively construct content
NestedVisit(ndPI.Right);
// Always call XmlQueryOutput.WriteEndPI
this.helper.CallWriteEndPI();
this.iterCurr.Storage = StorageDescriptor.None();
return ndPI;
}