@Override
public Result getNext(DataByteArray ba) throws ExecException {
List<ExpressionOperator> list = new ArrayList<ExpressionOperator>();
list.add(cond);
Result r = accumChild(list, dummyBool);
if (r != null) {
if (r.returnStatus != POStatus.STATUS_BATCH_OK) {
return r;
}
list.clear();
list.add(lhs);
list.add(rhs);
r = accumChild(list, ba);
return r;
}
Result res = cond.getNext(dummyBool);
if (res.result==null || res.returnStatus != POStatus.STATUS_OK) return res;
return ((Boolean)res.result) == true ? lhs.getNext(ba) : rhs.getNext(ba);
}