code: def render(self, explanation, key=-1, **kwargs):
      file_name = kwargs.pop("file_name", None)
  
      # NOTE: Preserve didn't support returning everything. If key is -1 default to key is None.
      # This is for backward-compatibility. All of this will be deprecated shortly anyway.
      if key == -1:
          key = None
  
      # Get visual object
      visual = explanation.visualize(key=key)
  
      # Output to front-end/file
  
      # TODO: stop this call from writing to stdout or stderr
      self._preserve_output(
          explanation.name,
          visual,
          selector_key=key,
          file_name=file_name,
          **kwargs,
      )
      return None
  
imports: from abc import ABC, abstractmethod
  import logging
  from ._environment import EnvironmentDetector, is_cloud_env, ENV_DETECTED
  from .._version import __version__
label_desc: Use image node_id 1 for calling the PreserveProvider obj's underlying member method code with example usage: obj.render(explanation, key) and returns: None