code: protected function getRouteItemAssessmentItemRefs(RunnerServiceContext $context, RouteItem $routeItem, &$catSession)
      {
          /* @var CatService */
          $catService = $this->getServiceManager()->get(CatService::SERVICE_ID);
          $compilationDirectory = $context->getCompilationDirectory()['private'];
          $itemRefs = [];
          $catSession = false;
  
          if ($context->isAdaptive($routeItem->getAssessmentItemRef())) {
              $catSession = $context->getCatSession($routeItem);
  
              $itemRefs = $catService->getAssessmentItemRefByIdentifiers(
                  $compilationDirectory,
                  $context->getShadowTest($routeItem)
              );
          } else {
              $itemRefs[] = $routeItem->getAssessmentItemRef();
          }
  
          return $itemRefs;
      }
docs: Get AssessmentItemRef objects.
  
  Get the AssessmentItemRef objects bound to a RouteItem object. In most of cases, an array of a single
  AssessmentItemRef object will be returned. But in case of the given $routeItem is a CAT Adaptive Placeholder,
  multiple AssessmentItemRef objects might be returned.
  
  @param RunnerServiceContext $context
  @param RouteItem $routeItem
  @param mixed $catSession A reference to a variable that will be fed with the CatSession object related to the $routeItem. In case the $routeItem is not bound to a CatSession object, $catSession will be set with false.
  @return array An array of AssessmentItemRef objects.