code: @Override
  	protected boolean beforeHandleRequest(final Request request) {
  
  		// Clear open request (if set)
  		setOpenRequestItemId(null);
  
  		// Check if is targeted request (ie item image)
  		String targetParam = request.getParameter(Environment.TARGET_ID);
  		boolean targetted = (targetParam != null && targetParam.equals(getTargetId()));
  		if (targetted) {
  			handleItemImageRequest(request);
  			return false;
  		}
  
  		// Check if open item request
  		if (isOpenItemRequest(request)) {
  			// Set the expanded rows
  			handleExpandedState(request);
  			// Handle open request
  			handleOpenItemRequest(request);
  			return false;
  		}
  
  		// Check if shuffle items
  		if (isShuffle() && isShuffleRequest(request)) {
  			handleShuffleState(request);
  			return false;
  		}
  		return true;
  	}
docs: {@inheritDoc}