code: def _handle_sub_action(self, input_dict, handler):
          
          if not self.can_handle(input_dict):
              return input_dict
  
          key = self.intrinsic_name
          sub_value = input_dict[key]
  
          input_dict[key] = self._handle_sub_value(sub_value, handler)
  
          return input_dict
docs: Handles resolving replacements in the Sub action based on the handler that is passed as an input.
  
          :param input_dict: Dictionary to be resolved
          :param supported_values: One of several different objects that contain the supported values that
              need to be changed. See each method above for specifics on these objects.
          :param handler: handler that is specific to each implementation.
          :return: Resolved value of the Sub dictionary