code: public void queueEvent(FacesEvent event) {
  		FacesContext context = FacesContext.getCurrentInstance();
  		String indexes = (String) context.getExternalContext().getRequestParameterMap().get("indexes");
  		context.getELContext().getELResolver().setValue(context.getELContext(), null, "indexes", indexes);
  		String typeOfSelection = (String) context.getExternalContext().getRequestParameterMap().get("typeOfSelection");
  		context.getELContext().getELResolver().setValue(context.getELContext(), null, "typeOfSelection",
  				typeOfSelection);
  		try {
  			int oldIndex = getRowIndex();
  			int index = Integer.valueOf(indexes);
  			setRowIndex(index);
  			super.queueEvent(event);
  			setRowIndex(oldIndex);
  		} catch (Exception multipleIndexes) {
  			super.queueEvent(event);
  
  		}
  	}
docs: <p>
  Queue an event for broadcast at the end of the current request processing
  lifecycle phase. The default implementation in {@link UIComponentBase} must
  delegate this call to the <code>queueEvent()</code> method of the parent
  {@link UIComponent}.
  </p>
  
  @param event {@link FacesEvent} to be queued
  
  @throws IllegalStateException if this component is not a descendant of a
  {@link UIViewRoot}
  @throws NullPointerException  if <code>event</code> is <code>null</code>