def get_item(self, item_id):
authority = item_id.authority<EOL>mgr = self._get_provider_manager('<STR_LIT>', local=True)<EOL>if self._proxy is not None:<EOL><INDENT>ils = mgr.get_item_lookup_session(proxy=self._proxy)<EOL><DEDENT>else:<EOL><INDENT>ils = mgr.get_item_lookup_session()<EOL><DEDENT>ils.use_federated_bank_view()<EOL>if authority == MAGIC_AUTHORITY:<EOL><INDENT>magic_identifier = unquote(item_id.identifier)<EOL>params = json.loads(magic_identifier.split('<STR_LIT:?>')[-<NUM_LIT:1>])<EOL>orig_identifier = magic_identifier.split('<STR_LIT:?>')[<NUM_LIT:0>]<EOL>original_item_id = Id(<EOL>namespace=item_id.namespace,<EOL>authority=self._catalog.ident.authority,<EOL>identifier=orig_identifier<EOL>)<EOL>orig_item = ils.get_item(original_item_id)<EOL>orig_item.set_params(params)<EOL>return orig_item<EOL><DEDENT>else:<EOL><INDENT>return ils.get_item(item_id)<EOL><DEDENT>
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: