code: @Override
  	public TRow getRow() {
  
  		TRow row = null;
  
  		if (table != null) {
  
  			int[] columnTypes = new int[table.columnCount()];
  			Object[] values = new Object[table.columnCount()];
  
  			try {
  
  				ResultSetMetaData metaData = resultSet.getMetaData();
  
  				for (TColumn column : table.getColumns()) {
  
  					int index = column.getIndex();
  
  					Object value = getValue(column);
  					values[index] = value;
  
  					int columnType;
  					if (value == null) {
  						columnType = ResultUtils.FIELD_TYPE_NULL;
  					} else {
  						int metadataColumnType = metaData
  								.getColumnType(resultIndexToResultSetIndex(index));
  						columnType = resultSetTypeToSqlLite(metadataColumnType);
  					}
  					columnTypes[index] = columnType;
  				}
  			} catch (SQLException e) {
  				throw new GeoPackageException("Failed to retrieve the row", e);
  			}
  
  			row = getRow(columnTypes, values);
  
  		}
  
  		return row;
  	}
docs: {@inheritDoc}