code: protected void deleteContent(final List<String> tables, final Statement statement) throws SQLException {
  
  		final ArrayList<String> tempTables = new ArrayList<String>(tables);
  
  		// Loop until all data is deleted: we don't know the correct DROP
  		// order, so we have to retry upon failure
  		while (!tempTables.isEmpty()) {
  			final int sizeBefore = tempTables.size();
  			for (final ListIterator<String> iterator = tempTables.listIterator(); iterator.hasNext();) {
  				final String table = iterator.next();
  
  				try {
  					statement.executeUpdate("DELETE FROM " + table);
  					iterator.remove();
  				} catch (final SQLException exc) {
  					LOG.warn("Ignored exception: " + exc.getMessage() + ". WILL RETRY.");
  				}
  			}
  			if (tempTables.size() == sizeBefore) {
  				throw new AssertionError("unable to clean tables " + tempTables);
  			}
  
  		}
  
  	}
docs: Deletes all contents from the given tables.
  
  @param tables
  a {@link List} of table names who are to be deleted.
  
  @param statement
  the {@link Statement} to be used for executing a SQL statement.
  
  
  @throws SQLException
  - if a database access error occurs