code: public function getCatSection(AssessmentTestSession $testSession, \tao_models_classes_service_StorageDirectory $compilationDirectory, RouteItem $routeItem = null)
      {
          $routeItem = $routeItem ? $routeItem : $testSession->getRoute()->current();
          $sectionId = $routeItem->getAssessmentSection()->getIdentifier();
          
          if (!isset($this->catSection[$sectionId]) || $this->isInitialCall === true) {
  
              // No retrieval trial yet.
              $adaptiveSectionMap = $this->getAdaptiveSectionMap($compilationDirectory);
  
  
              if (isset($adaptiveSectionMap[$sectionId])) {
                  $this->catSection[$sectionId] = $this->getCatEngine($testSession, $compilationDirectory, $routeItem)->restoreSection($adaptiveSectionMap[$sectionId]['section']);
              } else {
                  $this->catSection[$sectionId] = false;
              }
  
          }
          
          return $this->catSection[$sectionId];
      }
docs: If it is the initial call, reload cat section from $this->catSection cache
  
  @param AssessmentTestSession $testSession
  @param \tao_models_classes_service_StorageDirectory $compilationDirectory
  @param RouteItem|null $routeItem
  @return mixed