Where AND_ALL(List<Where> ws) { if (ws.isEmpty) return Where(""); if (ws.length == 1) return ws.first; if (ws.length == 2) return ws.first.AND(ws.second!); return ws.first.AND(AND_ALL(ws.sublist(1))); }