code: def apply(self, value, input_ranges, backend=None):
          
          from .overlay import CompositeOverlay
          if backend is None: backend = Store.current_backend
          kwargs = {k: v for k, v in self.kwargs.items() if k != 'output_type'}
          if isinstance(value, CompositeOverlay) and len(value) == 1:
              value = value.values()[0]
              if self.transfer_parameters:
                  plot_opts = Store.lookup_options(backend, value, 'plot').kwargs
                  kwargs.update({k: v for k, v in plot_opts.items()
                                 if k in self.operation.params()})
  
          transformed = self.operation(value, input_ranges=input_ranges, **kwargs)
          if self.transfer_options:
              Store.transfer_options(value, transformed, backend)
          return transformed
docs: Apply the compositor on the input with the given input ranges.