@SuppressWarnings("unchecked")
    public ArrayList<T> list() {
        Cursor c = null;
        ArrayList<T> r = new ArrayList<T>();

        c = getSQLCursor();
        if (c.moveToFirst()) {
            do {
                try {
                    r.add((T) Model.load(mDB.mContext, E, c));
                } catch (Throwable e) {
                    Util.Log(e);
                }
            } while (c.moveToNext());
        }
        c.close();

        return r;
    }