### Question:
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; }  Map<String, Serializable> importRow(FeatureRow row, ProjectionTransform toGeodetic);  }### Answer:
@Test public void testImportRow() { Projection geodetic = ProjectionFactory.getProjection(ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM); ProjectionTransform toGeodetic = geodetic.getTransformation(ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM); Map<String, Object> tableData = New.map(); tableData.put("column1", "value1"); tableData.put("column2", 10); tableData.put("column3", 54.3); FeatureTable table = new FeatureTable("test", New.list(FeatureColumn.createPrimaryKeyColumn(0, "key"), FeatureColumn.createGeometryColumn(1, "geom", GeometryType.POINT, false, null))); mil.nga.sf.Point location = new mil.nga.sf.Point(5, 6); MockFeatureRow row = new MockFeatureRow(table, location, tableData); RowImporter importer = new RowImporter(); Map<String, Serializable> importedRow = importer.importRow(row, toGeodetic); assertEquals(4, importedRow.size()); assertEquals("value1", importedRow.get("column1")); assertEquals(10, importedRow.get("column2")); assertEquals(54.3, importedRow.get("column3")); Point actualLocation = (Point)importedRow.get(GeoPackageColumns.GEOMETRY_COLUMN); assertEquals(actualLocation.getCoordinate().x, location.getX(), 0d); assertEquals(actualLocation.getCoordinate().y, location.getY(), 0d); }