loadRoles(ids) {
    const roles = [];

    for (const id of ids) {
      let role = this.roles.get(id);

      if (!role) {
        role = this.loadOneFromDatabase(id).then((r) => {
          this.roles.set(id, r);
          return r;
        });

        this.roles.set(id, role);
      }

      roles.push(role);
    }

    return Bluebird.all(roles);
  }
From a list of role ids, retrieves the matching Role objects.

@param {Array} ids The role ids to load
@param {Object} options - resetCache (false)
@returns {Promise.<Array.<Role>>}