def get_tree_current_item(self, tree_alias):
current_item = self._current_items.get(tree_alias, _UNSET)<EOL>if current_item is not _UNSET:<EOL><INDENT>if current_item is not None:<EOL><INDENT>current_item.is_current = True  <EOL><DEDENT>return current_item<EOL><DEDENT>current_item = None<EOL>if self.current_app_is_admin():<EOL><INDENT>self._current_items[tree_alias] = current_item<EOL>return None<EOL><DEDENT>current_url = self.current_request.path<EOL>if isinstance(current_url, str):<EOL><INDENT>current_url = current_url.encode('<STR_LIT>')<EOL><DEDENT>if current_url:<EOL><INDENT>current_url = urlquote(current_url)<EOL><DEDENT>for url_item, url in self._items_urls.items():<EOL><INDENT>if url != current_url:<EOL><INDENT>continue<EOL><DEDENT>url_item.is_current = True<EOL>if url_item.tree.alias == tree_alias:<EOL><INDENT>current_item = url_item<EOL><DEDENT><DEDENT>if current_item is not None:<EOL><INDENT>self._current_items[tree_alias] = current_item<EOL><DEDENT>return current_item<EOL>
Resolves current tree item of 'tree_alias' tree matching current
        request path against URL of given tree item.

        :param str|unicode tree_alias:
        :rtype: TreeItemBase