       @param {Object} Payload
       @return {Object | Array}
     */
-    request: function (obj) {
+    request: function (obj, isSuperUser) {
+      isSuperUser = isSuperUser === undefined ? false : isSuperUser;
+
       var prop = obj.name,
         result = {},
         args,

        "    LIMIT 1" +
        "  ) AS data" +
        "  WHERE can_read" +
        ") " +
        "INTERSECT " +
        "SELECT %I._pk " +
        "FROM %I" +
        "  JOIN folder ON _folder_folder_pk=folder._pk " +
        "WHERE EXISTS (" +
        "  SELECT can_read FROM (" +
        "    SELECT can_read" +
        "    FROM \"$auth\"" +
        "      JOIN \"role\" on \"$auth\".\"role_pk\"=\"role\".\"_pk\"" +
        "      JOIN \"role_member\"" +
        "        ON \"role\".\"_pk\"=\"role_member\".\"_parent_role_pk\"" +
        "    WHERE member=$1" +
        "      AND object_pk=folder._pk" +
        "    ORDER BY is_inherited, can_read DESC" +
        "    LIMIT 1" +
        "  ) AS data" +
        "  WHERE can_read" +
        ") " +
        "EXCEPT " +
        "SELECT %I._pk " +
        "FROM %I " +


    /* Handle change log */
    now = featherbone.now();

    _insert({
      name: "Log",
      data: {
