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