/**
  * Sort information objects by lft value so that parent objects are inserted
  * before their children.
  *
  * @return QubitMigrate105 this object
  */
 protected function sortQubitInformationObjects()
 {
     QubitMigrate::sortByLft($this->data['QubitInformationObject']);
     return $this;
 }
 /**
  * Sort term objects with pre-defined IDs to start of array to prevent
  * pre-emptive assignment by auto-increment
  *
  * @return QubitMigrate110 this object
  */
 protected function sortQubitTerms()
 {
     $qubitTermConstantIds = array('ROOT_ID', 'CREATION_ID', 'CUSTODY_ID', 'PUBLICATION_ID', 'CONTRIBUTION_ID', 'COLLECTION_ID', 'ACCUMULATION_ID', 'TITLE_NOTE_ID', 'PUBLICATION_NOTE_ID', 'SOURCE_NOTE_ID', 'SCOPE_NOTE_ID', 'DISPLAY_NOTE_ID', 'ARCHIVIST_NOTE_ID', 'GENERAL_NOTE_ID', 'OTHER_DESCRIPTIVE_DATA_ID', 'MAINTENANCE_NOTE_ID', 'ARCHIVAL_MATERIAL_ID', 'PUBLISHED_MATERIAL_ID', 'ARTEFACT_MATERIAL_ID', 'CORPORATE_BODY_ID', 'PERSON_ID', 'FAMILY_ID', 'FAMILY_NAME_FIRST_NAME_ID', 'AUDIO_ID', 'IMAGE_ID', 'TEXT_ID', 'VIDEO_ID', 'OTHER_ID', 'MASTER_ID', 'REFERENCE_ID', 'THUMBNAIL_ID', 'COMPOUND_ID', 'LOCATION_ID', 'CONTAINER_ID', 'ARTEFACT_ID', 'HAS_PHYSICAL_OBJECT_ID', 'PARALLEL_FORM_OF_NAME_ID', 'OTHER_FORM_OF_NAME_ID', 'HIERARCHICAL_RELATION_ID', 'TEMPORAL_RELATION_ID', 'FAMILY_RELATION_ID', 'ASSOCIATIVE_RELATION_ID', 'RELATION_NOTE_DESCRIPTION_ID', 'RELATION_NOTE_DATE_ID', 'ALTERNATIVE_LABEL_ID', 'TERM_RELATION_ASSOCIATIVE_ID', 'STATUS_TYPE_PUBLICATION_ID', 'PUBLICATION_STATUS_DRAFT_ID', 'PUBLICATION_STATUS_PUBLISHED_ID', 'NAME_ACCESS_POINT_ID', 'ISDF_HIERARCHICAL_RELATION_ID', 'ISDF_TEMPORAL_RELATION_ID', 'ISDF_ASSOCIATIVE_RELATION_ID', 'STANDARDIZED_FORM_OF_NAME_ID', 'EXTERNAL_URI_ID', 'ACCESSION_ID', 'RIGHT_ID', 'DONOR_ID', 'RIGHT_BASIS_COPYRIGHT_ID', 'RIGHT_BASIS_LICENSE_ID', 'RIGHT_BASIS_STATUTE_ID', 'RIGHT_BASIS_POLICY_ID');
     // Restack array with Constant values at top
     $qubitTermArray = $this->data['QubitTerm'];
     foreach ($qubitTermConstantIds as $key => $constantName) {
         foreach ($qubitTermArray as $key => $term) {
             if (isset($term['id']) && $term['id'] == '<?php echo QubitTerm::' . $constantName . '."\\n" ?>') {
                 $newTermArray[$key] = $term;
                 unset($qubitTermArray[$key]);
                 break;
             }
         }
     }
     // Sort remainder of array by lft values
     QubitMigrate::sortByLft($qubitTermArray);
     // Append remaining (variable id) terms to the end of the new array
     foreach ($qubitTermArray as $key => $term) {
         $newTermArray[$key] = $term;
     }
     $this->data['QubitTerm'] = $newTermArray;
     return $this;
 }