code: def is_categorical_split(self, id) -> bool:
      node = self.tree_nodes[id]
      if "InternalNode" in node.toString():
          if "CategoricalSplit" in node.split().toString():
              return True
      return False
  
imports: from abc import ABC
  from collections import defaultdict
  from typing import List, Mapping
  import numpy
  import pyspark
  from dtreeviz.models.shadow_decision_tree import ShadowDecTree
  from dtreeviz.utils import criterion_remapping
  from pyspark.ml.classification import DecisionTreeClassificationModel
  from pyspark.ml.regression import DecisionTreeRegressionModel
label_desc: Use image node_id 5 for calling the ShadowSparkTree obj's underlying member method code with example usage: obj.is_categorical_split(id) and returns: False, True