code: @Override
  	public TileDao getTileDao(Contents contents) {
  
  		if (contents == null) {
  			throw new GeoPackageException("Non null "
  					+ Contents.class.getSimpleName()
  					+ " is required to create " + TileDao.class.getSimpleName());
  		}
  
  		TileMatrixSet tileMatrixSet = null;
  		try {
  			tileMatrixSet = getTileMatrixSetDao().queryForId(
  					contents.getTableName());
  		} catch (SQLException e) {
  			throw new GeoPackageException("No "
  					+ TileMatrixSet.class.getSimpleName()
  					+ " could be retrieved for "
  					+ Contents.class.getSimpleName() + " " + contents.getId());
  		}
  
  		if (tileMatrixSet == null) {
  			throw new GeoPackageException("No "
  					+ TileMatrixSet.class.getSimpleName() + " exists for "
  					+ Contents.class.getSimpleName() + " " + contents.getId());
  		}
  
  		return getTileDao(tileMatrixSet);
  	}
docs: {@inheritDoc}