@Override public void onEnterPage( PageParameters parameters, PageRequestSession session, final AsyncPageCallback callback) { callback.waitForAsync(); if (parameters.getParameters().length > 0) { productService.getForEditing( parameters.asString(0), new AsyncCallback<Pair<Product, String>>() { @Override public void onSuccess(Pair<Product, String> result) { show(result); callback.onSuccess(); } @Override public void onFailure(Throwable caught) { Messages.get().error(caught.getMessage(), null); } }); } }