}
public static Result routeAndCall(Class<? extends Routes> router, FakeRequest fakeRequest, long timeout) {
try {
Routes routes = (Routes) router.getClassLoader().loadClass(router.getName() + "$").getDeclaredField("MODULE$").get(null);
if(routes.routes().isDefinedAt(fakeRequest.getWrappedRequest())) {
return invokeHandler(routes.routes().apply(fakeRequest.getWrappedRequest()), fakeRequest, timeout);
} else {
return null;
}
} catch(RuntimeException e) {