DepthFirstSearch search = new DepthFirstSearch();
String[] tableNames = CollectionsHelper.setToStrings( rootTables.keySet() );
Set tmpTables = search.search( tableNames, callback );
String[] dependentTables = CollectionsHelper.setToStrings( tmpTables );
IDataSet tmpDataset = connection.createDataSet( dependentTables );
FilteredDataSet dataset = new FilteredDataSet(filter, tmpDataset);
return dataset;
}