code: def get_item(self, item_id):
          
          authority = item_id.authority
          mgr = self._get_provider_manager('ASSESSMENT', local=True)
          if self._proxy is not None:
              ils = mgr.get_item_lookup_session(proxy=self._proxy)
          else:
              ils = mgr.get_item_lookup_session()
          ils.use_federated_bank_view()
          if authority == MAGIC_AUTHORITY:
              magic_identifier = unquote(item_id.identifier)
              params = json.loads(magic_identifier.split('?')[-1])
              orig_identifier = magic_identifier.split('?')[0]
              original_item_id = Id(
                  namespace=item_id.namespace,
                  authority=self._catalog.ident.authority,
                  identifier=orig_identifier
              )
              orig_item = ils.get_item(original_item_id)
              orig_item.set_params(params)
              return orig_item
          else:
              return ils.get_item(item_id)
docs: see if this is a magic item id (i.e. questionId).
          If so, grab the item and set the params.
          If not, just pass through to the original Mongo ItemLookupSession
          :param item_id:
          :return: