/*
  * This method gets subReportType for CumulativeBudgetLARateBase by
  * BudgetPeriod for RateClassType LAB_ALLOCATION
  */
 private SubReportType getCumulativeBudgetLARateBase() {
   SubReportType subReportType = SubReportType.Factory.newInstance();
   String rateClassType = RateClassType.LAB_ALLOCATION.getRateClassType();
   List<ReportTypeVO> tempReportTypeVOList = new ArrayList<ReportTypeVO>();
   Map<String, ReportType> reportTypeMap = new HashMap<String, ReportType>();
   for (BudgetPeriod budgetPeriod : budget.getBudgetPeriods()) {
     for (BudgetLineItem budgetLineItem : budgetPeriod.getBudgetLineItems()) {
       setBudgetPersRateAndBaseListForBudgetLARateAndBase(tempReportTypeVOList, budgetLineItem);
       if (!isBudgetCategoryPersonnel(budgetLineItem)) {
         setBudgetRateAndBaseListForBudgetLARateAndBase(tempReportTypeVOList, budgetLineItem);
       }
     }
   }
   setReportTypeMapFromReportTypeVOList(tempReportTypeVOList, reportTypeMap);
   List<ReportType> reportTypeList = new ArrayList<ReportType>(reportTypeMap.values());
   subReportType.setGroupArray(getGroupsType(reportTypeList, rateClassRateType));
   return subReportType;
 }