code: def _convert_split_id(
      self,
      ctx: Context,
      cur_layer_nodes: List[Node],
      node_map: dict,
      hist_builder: SBTHistogramBuilder,
      statistic_histogram: DistributedHistogram,
      splitter: SBTSplitter,
      data: DataFrame,
  ):
      sitename = ctx.local.party[0] + "_" + ctx.local.party[1]
      to_recover = {}
      for idx, n in enumerate(cur_layer_nodes):
          if (not n.is_leaf) and n.sitename == sitename:
              node_id = n.nid
              split_id = n.split_id
              to_recover[node_id] = split_id
  
      if len(to_recover) != 0:
          if self._random_seed is None:
              for node_id, split_id in to_recover.items():
                  node = cur_layer_nodes[node_map[node_id]]
                  fid, bid = splitter.get_bucket(split_id)
                  node.fid = self._fid_to_feature_name(int(fid), data)
                  node.bid = int(bid)
          else:
              recover_rs = hist_builder.recover_feature_bins(
                  statistic_histogram, to_recover, node_map
              )
              for node_id, split_tuple in recover_rs.items():
                  node = cur_layer_nodes[node_map[node_id]]
                  fid, bid = split_tuple
                  node.fid = self._fid_to_feature_name(int(fid), data)
                  node.bid = int(bid)
  
imports: from fate.ml.ensemble.learner.decision_tree.tree_core.decision_tree import DecisionTree, Node, _update_sample_pos_on_local_nodes, FeatureImportance
  from fate.ml.ensemble.learner.decision_tree.tree_core.hist import SBTHistogramBuilder, DistributedHistogram
  from fate.ml.ensemble.learner.decision_tree.tree_core.splitter import SBTSplitter
  from fate.ml.ensemble.learner.decision_tree.tree_core.decision_tree import ALL_FEAT, GUEST_FEAT_ONLY
  from fate.arch import Context
  from fate.arch.dataframe import DataFrame
  from typing import List
  import functools
  import logging
label_desc: Use image node_id 2 for calling the HeteroDecisionTreeHost obj's underlying member method code with example usage: obj._convert_split_id(ctx, cur_layer_nodes, node_map, hist_builder, statistic_histogram, splitter, data) without return types