code: def create_class(self, data, options=None, path=None, **kwargs):
          
  
          obj_map = dict((cls.type, cls) for cls in ALL_CLASSES)
          try:
              cls = obj_map[data["type"].lower()]
          except KeyError:
              LOGGER.warning("Unknown type: %s" % data)
          else:
              obj = cls(
                  data,
                  jinja_env=self.jinja_env,
                  options=options,
                  url_root=self.url_root,
                  **kwargs
              )
  
              # Append child objects
              # TODO this should recurse in the case we're getting back more
              # complex argument listings
  
              yield obj
docs: Return instance of class based on Roslyn type property
  
          Data keys handled here:
  
              type
                  Set the object class
  
              items
                  Recurse into :py:meth:`create_class` to create child object
                  instances
  
          :param data: dictionary data from Roslyn output artifact