class RowImporter {

    public Map<String, Serializable> importRow(FeatureRow row, ProjectionTransform toGeodetic)
    {
        String[] columnNames = row.getColumnNames();

        Map<String, Serializable> importedRow = New.map();

        for (String columnName : columnNames)
        {
            if (!columnName.equals(row.getGeometryColumn().getName()))
            {
                Object value = row.getValue(columnName);
                if (value instanceof Serializable)
                {
                    importedRow.put(columnName, (Serializable)value);
                }
                else if (value != null)
                {
                    LOGGER.warn("Ignoring value for column " + columnName + " in table " + row.getTable().getTableName()
                            + ", the value is not serializable");
                }
            }
        }

        myGeometryImporter.importGeometry(importedRow, row, toGeodetic);

        return importedRow;
    }

}