class HaloDataLite extends SQLiteOpenHelper implements Corruptible {

    @Api(2.0)
    public void transaction(@NonNull HaloDataLiteTransaction transaction) throws HaloStorageGeneralException {
        SQLiteDatabase database = getDatabase();
        database.beginTransaction();
        try {
            transaction.onTransaction(database);
            database.setTransactionSuccessful();
        } catch (Exception e) {
            throw new HaloStorageGeneralException("Database error: " + e.getMessage(), e);
        } finally {
            database.endTransaction();
        }
    }

    private  HaloDataLite(@NonNull Context context, @NonNull String name, int version, @NonNull HaloDatabaseVersionManager manager, @NonNull HaloDatabaseErrorHandler handler);

}