public static String getBookmarkablePageUrl(final Class< ? extends Page> pageClass, final String... params)
{
final RequestCycle requestCylce = RequestCycle.get();
if (requestCylce != null) {
final PageParameters pageParameter = getPageParameters(params);
return requestCylce.urlFor(pageClass, pageParameter).toString();
} else {
// RequestCycle.get().urlFor(pageClass, pageParameter).toString() can't be used for non wicket requests!
final String alias = WicketApplication.getBookmarkableMountPath(pageClass);
if (alias == null) {
log.error("Given page class is not mounted. Please mount class in WicketApplication: " + pageClass);