async load(id) {
    if (this.roles.has(id)) {
      return this.roles.get(id);
    }

    const role = await this.loadOneFromDatabase(id);

    await this.roles.set(role._id, role);

    return role;
  }
Get from database the document that represent the role given in parameter

@param {string} id
@returns {Promise.<Role>} role
@throws {NotFoundError} If the corresponding role doesn't exist