public function visitGedcomx(Gedcomx $gx)
 {
     parent::visitGedcomx($gx);
     array_push($this->contextStack, $gx);
     $discussions = $gx->findExtensionsOfType('Discussion');
     if ($discussions != null) {
         /** @var Discussion $discussion */
         foreach ($discussions as $discussion) {
             $discussion->accept($this);
         }
     }
     $merges = $gx->findExtensionsOfType('Merge');
     if ($merges != null) {
         /** @var Merge $merge */
         foreach ($merges as $merge) {
             $merge->accept($this);
         }
     }
     $mergeAnalyses = $gx->findExtensionsOfType('MergeAnalysis');
     if ($mergeAnalyses != null) {
         /** @var MergeAnalysis $merge */
         foreach ($mergeAnalyses as $merge) {
             $merge->accept($this);
         }
     }
     $childAndParentsRelationships = $gx->findExtensionsOfType('ChildAndParentsRelationship');
     if ($childAndParentsRelationships != null) {
         /** @var ChildAndParentsRelationship $pcr */
         foreach ($childAndParentsRelationships as $pcr) {
             $pcr->accept($this);
         }
     }
     array_pop($this->contextStack);
 }
 public function visitEvidenceReference(EvidenceReference $evidenceReference)
 {
     $this->bindIfNeeded($evidenceReference);
     parent::visitEvidenceReference($evidenceReference);
 }