code: @Override
  	public FeatureDao getFeatureDao(Contents contents) {
  
  		if (contents == null) {
  			throw new GeoPackageException("Non null "
  					+ Contents.class.getSimpleName()
  					+ " is required to create "
  					+ FeatureDao.class.getSimpleName());
  		}
  
  		GeometryColumns geometryColumns = null;
  		try {
  			geometryColumns = getGeometryColumnsDao().queryForTableName(
  					contents.getTableName());
  		} catch (SQLException e) {
  			throw new GeoPackageException("No "
  					+ GeometryColumns.class.getSimpleName()
  					+ " could be retrieved for "
  					+ Contents.class.getSimpleName() + " " + contents.getId());
  		}
  
  		if (geometryColumns == null) {
  			throw new GeoPackageException("No "
  					+ GeometryColumns.class.getSimpleName() + " exists for "
  					+ Contents.class.getSimpleName() + " " + contents.getId());
  		}
  
  		return getFeatureDao(geometryColumns);
  	}
docs: {@inheritDoc}