int originalRows = table.getRows();
table.setRows(0); // We want to visit all rows.
FacesContext context = FacesContext.getCurrentInstance();
UniqueColumnValueChecker checker = new UniqueColumnValueChecker(table, input);
table.visitTree(VisitContext.createVisitContext(context), checker);
table.setRows(originalRows);
if (checker.isDuplicate()) {
input.setValid(false);
context.validationFailed();