public Questions getQuestions() {
   Questions faqs = new Questions();
   QuestionManager qm = QuestionManagerProvider.getQuestionManager();
   String appId = getSettings("home.faq.appId", "");
   int nb = getSettings("home.faq.nb", 1);
   if (StringUtil.isDefined(appId)) {
     faqs.setAppId(appId);
     try {
       String[] profiles = getOrganisationController().getUserProfiles(getUserId(), appId);
       SilverpeasRole role = SilverpeasRole.getGreaterFrom(SilverpeasRole.from(profiles));
       faqs.setCanAskAQuestion(role.isGreaterThanOrEquals(SilverpeasRole.writer));
       List<Question> questions = (List<Question>) qm.getQuestions(appId);
       if (questions != null && !questions.isEmpty()) {
         if (nb > questions.size()) nb = questions.size();
         if ("random".equalsIgnoreCase(getSettings("home.faq.display", "random"))
             && questions.size() > 1
             && questions.size() > nb) {
           Random random = new Random();
           int j = 0;
           while (j < nb) {
             int i = random.nextInt(questions.size() - 1);
             Question question = questions.get(i);
             boolean tryagain = false;
             for (Question q : faqs.getList()) {
               if (question.getPK().getId().equals(q.getPK().getId())) {
                 tryagain = true;
                 break;
               }
             }
             if (!tryagain) {
               faqs.add(question);
               j++;
             }
           }
         } else {
           for (int i = 0; i < nb; i++) {
             faqs.add(questions.get(i));
           }
         }
         return faqs;
       }
     } catch (QuestionReplyException e) {
       SilverTrace.error(
           "lookAurora", "LookAuroraHelper.LookAuroraHelper", "root.MSG_GEN_PARAM_VALUE", e);
     }
   }
   return null;
 }