new AsyncIterator<String>(binding.paramNames) {
@Override
public void handle(String param) {
if (hasNext()) {
params.set(param, m.group(param));
final Middleware paramMiddleware = paramProcessors.get(param);
if (paramMiddleware != null) {
// do not block main loop
vertx.runOnContext(new Handler<Void>() {
@Override
public void handle(Void event) {
paramMiddleware.handle(request, new Handler<Object>() {
@Override
public void handle(Object err) {
if (err == null) {
next();
} else {