public static void putPageParameters(
     final ISelectCallerPage callerPage,
     final Object dataObject,
     final Object filterObject,
     final PageParameters pageParameters,
     final String[] bookmarkableProperties) {
   if (bookmarkableProperties == null) {
     return;
   }
   // final String pre = prefix != null ? prefix + "." : "";
   for (final String propertyString : bookmarkableProperties) {
     final InitialPageParameterHolder paramHolder = new InitialPageParameterHolder(propertyString);
     final Object bean;
     if (paramHolder.isFilterParameter() == true) {
       bean = filterObject;
     } else {
       bean = dataObject;
     }
     try {
       final Object value = BeanHelper.getProperty(bean, paramHolder.property);
       WicketUtils.putPageParameter(pageParameters, paramHolder.prefix + paramHolder.alias, value);
     } catch (final Exception ex) {
       log.warn(
           "Couldn't put page parameter '"
               + paramHolder.property
               + "' of bean '"
               + bean
               + "'. Ignoring this parameter.");
     }
   }
 }