<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def show_tree(self, has_tree=False, force_update=False):
 """ show tree list :param has_tree: tree exist or not, False by default, if True, tree should be cleared first :param force_update: force update flag, if True, update neglect other flags. :return: has_tree, True successful, not change when exception """

        if has_tree:
            self.has_tree = self.clear_tree()

        if force_update:
            self.data_refresh_flag = True

        try:
            if self.data_refresh_flag:
                fn = self.open_filename
                if self.get_filetype(fn).lower() == 'json':
                    data_dict = self.read_json(fn)
                elif self.get_filetype(fn).lower() == 'lte':
                    data_dict = self.read_lte(fn)
            else:
                data_dict = self.data['dict']

            tree_name = self.treename_tc.GetValue()
            tree_root = self.mainview_tree.AddRoot(tree_name)
            self.add_items(data_dict,
                           root=tree_root,
                           target=self.mainview_tree)
            self.expand_tree(self.expand_all_flag)
            self.update_stat('list tree', 'Listing tree succeed', 'OK')
            self.tree_refresh_flag = False
            self.set_title()
            self.all_children = self.get_children(tree_root,
                                                  self.mainview_tree)
            self.found_items_clear = True  # set clear flag of found items
            self.lattice_model = None  # reset model when open new file
            return True
        except:
            self.update_stat('list tree', 'Listing tree failed', 'ERR')
            return self.has_tree