FacesContext context = FacesContext.getCurrentInstance();
if (id.length() > 0 && (isNumberBasedId(id) || id.startsWith(":")) && parent instanceof AbstractTable) {
final AbstractTable table = ((AbstractTable) parent);
if (!isLastComponentInPath) {
if (preProcessDecodesOnTables)
table.invokeBeforeProcessDecodes(context);
if (preRenderResponseOnTables) {
table.invokeBeforeRenderResponse(context);
table.setRowIndex(-1); // make the succeeding setRowIndex call provide the just-read actual row data through request-scope variables
}