private function processCanvasModuleData($data, $courseId)
 {
     $items = array();
     $moduleIdsArray = array();
     $moduleItemIdsArray = array();
     $i = 0;
     $firstItemId = null;
     foreach ($data as $moduleRow) {
         //assign the first item as the parent IF it's published
         if (is_null($firstItemId) && $moduleRow->published) {
             $firstItemId = $moduleRow->id;
         }
         //we'll create an array with all the moduleIds that belong to this courseId
         $moduleIdsArray[] = $moduleRow->id;
         $module = $this->processSingleModule($moduleRow, $courseId, $i, $firstItemId, $moduleItemIdsArray);
         $items[] = $module;
         $i++;
     }
     //since we are updating our DB with fresh Canvas data we MUST check against our DB and make sure we don't have "old" modules stored
     $dbHelper = new DbHelper();
     $dbHelper->qualityAssuranceModules($courseId, $moduleIdsArray);
     $dbHelper->qualityAssuranceModuleItems($courseId, $moduleItemIdsArray);
     return $items;
 }