code: def get_features(self):
      if self.features is not None:
          return self.features
  
      nodes = self._get_column_value(self.NODE_COLUMN)
      self.features = {
          node: self.get_node_feature(node) for node in nodes
      }
      return self.features
  
imports: import json
  import math
  from collections import defaultdict
  from typing import List, Mapping
  import numpy
  from dtreeviz.models.shadow_decision_tree import VisualisationNotYetSupportedError
  from dtreeviz.models.shadow_decision_tree import ShadowDecTree
  from dtreeviz import utils
  import xgboost
  from xgboost.core import Booster
label_desc: Use image node_id 10 for calling the ShadowXGBDTree obj's underlying member method code with example usage: obj.get_features() and returns: self, self