code: def instantiate_references_json(references_json):
      ''' Given a JSON representation of all the models in a graph, return a
      dict of new model objects.
  
      Args:
          references_json (``JSON``)
              JSON specifying new Bokeh models to create
  
      Returns:
          dict[str, Model]
  
      '''
  
      # Create all instances, but without setting their props
      references = {}
      for obj in references_json:
          obj_id = obj['id']
          obj_type = obj.get('subtype', obj['type'])
  
          cls = get_class(obj_type)
          instance = cls.__new__(cls, id=obj_id)
          if instance is None:
              raise RuntimeError('Error loading model from JSON (type: %s, id: %s)' % (obj_type, obj_id))
          references[instance.id] = instance
  
      return referencef instantiate_references_json(references_json):
      ''' Given a JSON representation of all the models in a graph, return a
      dict of new model objects.
  
      Args:
          references_json (``JSON``)
              JSON specifying new Bokeh models to create
  
      Returns:
          dict[str, Model]
  
      '''
  
      # Create all instances, but without setting their props
      references = {}
      for obj in references_json:
          obj_id = obj['id']
          obj_type = obj.get('subtype', obj['type'])
  
          cls = get_class(obj_type)
          instance = cls.__new__(cls, id=obj_id)
          if instance is None:
              raise RuntimeError('Error loading model from JSON (type: %s, id: %s)' % (obj_type, obj_id))
          references[instance.id] = instance
  
      return references
docs: Given a JSON representation of all the models in a graph, return a
      dict of new model objects.
  
      Args:
          references_json (``JSON``)
              JSON specifying new Bokeh models to create
  
      Returns:
          dict[str, Model]