private PageContext extract(Route route, JsonNode item) { Map<String, Object> variables = new HashMap<>(); route .getExtract() .entrySet() .stream() .forEach( entry -> { variables.put(entry.getKey(), apply(item, entry.getValue())); }); Page target = application.route(route.getPath()); return new PageContext(target, variables); }