code: def _visit_immediate_value_references(value, visitor):
      ''' Visit all references to another Model without recursing into any
      of the child Model; may visit the same Model more than once if
      it's referenced more than once. Does not visit the passed-in value.
  
      '''
      if isinstance(value, HasProps):
          for attr in value.properties_with_refs():
              child = getattr(value, attr)
              _visit_value_and_its_immediate_references(child, visitor)
      else:
          _visit_value_and_its_immediate_references(value, visitorf _visit_immediate_value_references(value, visitor):
      ''' Visit all references to another Model without recursing into any
      of the child Model; may visit the same Model more than once if
      it's referenced more than once. Does not visit the passed-in value.
  
      '''
      if isinstance(value, HasProps):
          for attr in value.properties_with_refs():
              child = getattr(value, attr)
              _visit_value_and_its_immediate_references(child, visitor)
      else:
          _visit_value_and_its_immediate_references(value, visitor)
docs: Visit all references to another Model without recursing into any
      of the child Model; may visit the same Model more than once if
      it's referenced more than once. Does not visit the passed-in value.