internal override void Execute(Processor processor, ActionFrame frame) {
Debug.Assert(processor != null && frame != null);
Debug.Assert(frame.State == Initialized);
processor.AddSort(this.sort != null ?
this.sort :
new Sort(
this.selectKey,
this.langAvt == null ? this.lang : ParseLang( this.langAvt .Evaluate(processor, frame)),
this.dataTypeAvt == null ? this.dataType : ParseDataType( this.dataTypeAvt .Evaluate(processor, frame), manager),
this.orderAvt == null ? this.order : ParseOrder( this.orderAvt .Evaluate(processor, frame)),
this.caseOrderAvt == null ? this.caseOrder : ParseCaseOrder(this.caseOrderAvt.Evaluate(processor, frame))
)
);
frame.Finished();
}
}