docstr: Property to grab the element reference pointing to the origin semantic model for this element instance.
  
  By convention this is the zeroth element in the Tuple. At this time these tuples are always of exactly
  length 1, so the simple assertions here work.
  
  TODO: make this a required input value, rather than a derived property on these objects
code: def origin_semantic_model_reference(
      self,
  ) -> SemanticModelElementReference:
      """Property to grab the element reference pointing to the origin semantic model for this element instance.
  
      By convention this is the zeroth element in the Tuple. At this time these tuples are always of exactly
      length 1, so the simple assertions here work.
  
      TODO: make this a required input value, rather than a derived property on these objects
      """
      if len(self.defined_from) != 1:
          raise ValueError(
              f"SemanticModelElementInstances should have exactly one entry in the `defined_from` property, because "
              f"otherwise there is no way to ensure that the first element is always the origin semantic model! Found "
              f"{len(self.defined_from)} elements in this particular instance: {self.defined_from}."
          )
  
      return self.defined_from[0]
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from dataclasses import dataclass
  from typing import Generic, List, Tuple, TypeVar
  from dbt_semantic_interfaces.dataclass_serialization import SerializableDataclass
  from dbt_semantic_interfaces.references import MetricModelReference, SemanticModelElementReference
  from metricflow.aggregation_properties import AggregationState
  from metricflow.specs.column_assoc import ColumnAssociation
  from metricflow.specs.specs import DimensionSpec, EntitySpec, InstanceSpec, InstanceSpecSet, MeasureSpec, MetadataSpec, MetricSpec, TimeDimensionSpec
label_desc: Use image node_id 1 for calling the SemanticModelElementInstance obj's underlying member method code with example usage: obj.origin_semantic_model_reference() and returns: self