private void populateSections(
      PublishedAssessmentIfc publishedAssessment,
      QuestionScoresBean bean,
      TotalScoresBean totalBean,
      ArrayList scores,
      PublishedAssessmentService pubService) {
    ArrayList sections = new ArrayList();
    log.debug(
        "questionScores(): populate sctions publishedAssessment.getSectionArraySorted size = "
            + publishedAssessment.getSectionArraySorted().size());
    Iterator iter = publishedAssessment.getSectionArraySorted().iterator();
    int i = 1;
    while (iter.hasNext()) {
      SectionDataIfc section = (SectionDataIfc) iter.next();
      ArrayList items = new ArrayList();
      PartData part = new PartData();
      boolean isRandomDrawPart =
          pubService.isRandomDrawPart(
              publishedAssessment.getPublishedAssessmentId(), section.getSectionId());
      part.setIsRandomDrawPart(isRandomDrawPart);
      part.setPartNumber("" + i);
      part.setId(section.getSectionId().toString());

      if (isRandomDrawPart) {
        if (section.getSectionMetaDataByLabel(SectionDataIfc.NUM_QUESTIONS_DRAWN) != null) {
          int numberToBeDrawn =
              Integer.parseInt(
                  section.getSectionMetaDataByLabel(SectionDataIfc.NUM_QUESTIONS_DRAWN));
          part.setNumberQuestionsDraw(numberToBeDrawn);
        }
        PublishedAssessmentService publishedAssessmentService = new PublishedAssessmentService();
        HashSet itemSet =
            publishedAssessmentService.getPublishedItemSet(
                publishedAssessment.getPublishedAssessmentId(), section.getSectionId());
        section.setItemSet(itemSet);
      } else {
        GradingService gradingService = new GradingService();
        HashSet itemSet =
            gradingService.getItemSet(
                publishedAssessment.getPublishedAssessmentId(), section.getSectionId());
        section.setItemSet(itemSet);
      }
      Iterator iter2 = section.getItemArraySortedForGrading().iterator();
      int j = 1;
      while (iter2.hasNext()) {
        ItemDataIfc item = (ItemDataIfc) iter2.next();
        PartData partitem = new PartData();

        partitem.setPartNumber("" + j);
        partitem.setId(item.getItemId().toString());
        log.debug("*   item.getId = " + item.getItemId());
        partitem.setLinked(true);

        // Iterator iter3 = scores.iterator();
        items.add(partitem);
        j++;
      }
      log.debug("questionScores(): items size = " + items.size());
      part.setQuestionNumberList(items);
      sections.add(part);
      i++;
    }
    log.debug("questionScores(): sections size = " + sections.size());
    bean.setSections(sections);
  }