class TableImporter {

    public List<Map<String, Serializable>> importFeatures(FeatureDao dao, CancellableTaskActivity ta, ProgressModel model)
    {
        List<Map<String, Serializable>> importedTable = New.list();

        FeatureResultSet resultSet = dao.queryForAll();
        ProjectionTransform toGeodetic = dao.getProjection().getTransformation(ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
        while (resultSet.moveToNext() && !ta.isCancelled())
        {
            FeatureRow row = resultSet.getRow();
            Map<String, Serializable> importedRow = myRowImporter.importRow(row, toGeodetic);
            importedTable.add(importedRow);
            model.setCompletedCount(model.getCompletedCount() + 1);
        }

        return importedTable;
    }

}