protected Object getRowKeyByRowData(Object data) {
TableDataModel model = getModel();
model.setRowData(data);
if (!model.isRowAvailable()) {
Object rowKey = model.requestRowKeyByRowData(getFacesContext(), null, null, data, -1, -1);
if (rowKey instanceof DefaultRowKey && ((DefaultRowKey) rowKey).getRowIndex() == -1) {
return null;
}
return rowKey;
}