final RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.include(request0, response0);
response0.flushBuffer();
final WebResponse webResponse = new WebResponse();
webResponse.setCode(response0.getStatus());
webResponse.setMessage(response0.getMessage());
// @originalWidget not needed for now
// webResponse.setHeaders(response0.getHeaders());
final byte[] bytes = response0.toByteArray();
final String characterEncoding = response0.getCharacterEncoding();
final String text = null == characterEncoding ? new String(bytes) : new String(bytes, characterEncoding);
webResponse.setBody(text);
return webResponse;
} catch (final Exception caught) {
caught.printStackTrace();
throw new FailedWebRequestException(caught.getMessage(), caught);
}