// build and return result grid
HDict meta = new HDictBuilder().add("id", id).add("hisStart", r.start).add("hisEnd", r.end).toDict();
writer.writeMeta(meta);
HDictBuilder dictBuilder = new HDictBuilder();
HCol[] cols = { new HCol(0, "ts", dictBuilder.toDict()), new HCol(1, "val", dictBuilder.toDict()), };
writer.writeCols(cols);
// route to subclass
onHisRead(rec, r, writer, cols);