public void compareContent(IDataSet currentDataSet, IDataSet expectedDataSet, AssertionErrorCollector errorCollector)
throws DataSetException, DatabaseUnitException
{
final String[] tableNames = expectedDataSet.getTableNames();
final FilteredDataSet filteredCurrentDataSet = new FilteredDataSet(new IncludeTableFilter(tableNames), currentDataSet);
for (String tableName : tableNames)
{
final List<String> columnsForSorting = defineColumnsForSorting(filteredCurrentDataSet, expectedDataSet,
tableName);
final ITable expectedTable = sort(expectedDataSet, tableName, columnsForSorting);
final ITable currentTable = sort(filteredCurrentDataSet, tableName, columnsForSorting);
final List<String> columnsToIgnore = extractColumnsToBeIgnored(expectedDataSet.getTable(tableName),
filteredCurrentDataSet.getTable(tableName));
final DiffCollectingFailureHandler diffCollector = new DiffCollectingFailureHandler();
Assertion.assertEquals(filter(expectedTable, toArray(columnsToIgnore)),