code: def get_substitutions(self):
      lst = []
      node = self
      while node:
          lst = [
              token
              for token in node.tokens
              if isinstance(token, ConfigSubstitution)
          ] + lst
          if hasattr(node, "overriden_value"):
              node = node.overriden_value
              if not isinstance(node, ConfigValues):
                  break
          else:
              break
      return lst
  
imports: from collections import OrderedDict
  from pyparsing import lineno
  from pyparsing import col
  import re
  import copy
  from .exceptions import ConfigException, ConfigWrongTypeException, ConfigMissingException
label_desc: Use image node_id 4 for calling the ConfigValues obj's underlying member method code with example usage: obj.get_substitutions() and returns: lst