/**
  * Create a new ExtendedAssessmentItemRef object from an AssessmentItemRef object.
  *
  * @param \qtism\data\AssessmentItemRef $assessmentItemRef An AssessmentItemRef object.
  * @return \qtism\data\ExtendedAssessmentItemRef An ExtendedAssessmentItemRef object.
  */
 public static function createFromAssessmentItemRef(AssessmentItemRef $assessmentItemRef)
 {
     $identifier = $assessmentItemRef->getIdentifier();
     $href = $assessmentItemRef->getHref();
     $compactRef = new static($identifier, $href);
     $compactRef->setBranchRules($assessmentItemRef->getBranchRules());
     $compactRef->setCategories($assessmentItemRef->getCategories());
     $compactRef->setFixed($assessmentItemRef->isFixed());
     $compactRef->setItemSessionControl($assessmentItemRef->getItemSessionControl());
     $compactRef->setTimeLimits($assessmentItemRef->getTimeLimits());
     $compactRef->setPreConditions($assessmentItemRef->getPreConditions());
     $compactRef->setRequired($assessmentItemRef->isRequired());
     $compactRef->setTemplateDefaults($assessmentItemRef->getTemplateDefaults());
     return $compactRef;
 }
 /**
  * Get the URI referencing the Assessment Item (in the knowledge base)
  *
  * @param AssessmentItemRef $itemRef
  * @return string A URI.
  */
 private function getItemUri(AssessmentItemRef $itemRef)
 {
     $href = $itemRef->getHref();
     $parts = explode('|', $href);
     return $parts[0];
 }