@Override public boolean currentRowMatches(Cursor cur, Map<String, Object> currentRow) throws IOException { Map<String, Object> rowPattern = getRowPattern(); if (rowPattern.size() != currentRow.size()) { return false; } for (Map.Entry<String, Object> e : currentRow.entrySet()) { String columnName = e.getKey(); if (!cur.getColumnMatcher().matches(cur.getTable(), columnName, rowPattern.get(columnName), e.getValue())) { return false; } } return true; }