- through TRANSLATE, which must create case OUTPUT, with
- OUTPUT_VALUE_CNT values, and populate it based on INPUT and
- auxiliary data AUX. The translated cases are then written to
- SUBWRITER. TRANSLATE must also destroy INPUT.
+ through TRANSLATE, which must return a case with
+ OUTPUT_VALUE_CNT values, based on INPUT and auxiliary data
+ AUX. (TRANSLATE may also return a null pointer, in which case
+ no case is written to the output.) The translated cases are
+ then written to SUBWRITER.
+
+ TRANSLATE takes ownership of each case passed to it. Thus, it
+ should either unref each case and return a new case, or
+ (unshare and then) modify and return the same case.