sclass HTMLPaginator { S startParam = "start"; int start, step = 50; int max; // number of items in list void processParams(SS params) { start = parseInt(params.get(startParam)); } S renderNav(O... _) { ret pageNav2(hquery(mapMinus(params, 'start)), max, start, step, startParam, _); } IntRange visibleRange() { ret intRange(start, min(max, start+step)); } }