docs: def get_aside_of_type(self, block, aside_type):
          """
          Return the aside of the given aside_type which might be decorating this `block`.
  
          Arguments:
              block (:class:`.XBlock`): The block to retrieve asides for.
              aside_type (`str`): the type of the aside
          """
          # TODO: This function will need to be extended if we want to allow:
          #   a) XBlockAsides to statically indicated which types of blocks they can comment on
          #   b) XBlockRuntimes to limit the selection of asides to a subset of the installed asides
          #   c) Optimize by only loading asides that actually decorate a particular view
  
          if self.id_generator is None:
              raise Exception("Runtimes must be supplied with an IdGenerator to load XBlockAsides.")
  
          usage_id = block.scope_ids.usage_id
  
          aside_cls = self.load_aside_type(aside_type)
          definition_id = self.id_reader.get_definition_id(usage_id)
          aside_def_id, aside_usage_id = self.id_generator.create_aside(definition_id, usage_id, aside_type)
          scope_ids = ScopeIds(self.user_id, aside_type, aside_def_id, aside_usage_id)
          return aside_cls(runtime=self, scope_ids=scope_ids)