public static <T extends Model> List<T> createSQLQuery(final Class<T> cls, final String sql, final String... params) {

		final List<T> result = new ArrayList<T>();

		synchronized (Lock) {
			final DBOpenHelper helper = Beans.getBean(DBOpenHelper.class);
			SQLiteDatabase database = helper.getReadableDatabase();

			final Cursor cursor = database.rawQuery(sql, params);
			while (cursor.moveToNext()) {
				T model = Reflection.instantiate(cls);
				model.transform(cursor);
				result.add(model);
			}

			cursor.close();
			database.close();
		}
		return result;
	}