public <T> void deleteAll(List<T> list) {
		if (list.size() == 0) {
			return;
		}
		Savepoint savepoint = null;
		try {
			Class<?> clazz = list.get(0).getClass();
			TableDefinition<?> def = define(clazz).createIfRequired(this);
			savepoint = prepareSavepoint();
			for (T t : list) {
				def.delete(this,  t);
			}
			commit(savepoint);
		} catch (IciqlException e) {
			rollback(savepoint);
			throw e;
		}
	}