class_docstr: Base class of function operation that will execute StatelessFunction or StatefulFunction for
  each input element.
class_docstr_tok: ["Base","class","of","function","operation","that","will","execute","StatelessFunction","or","StatefulFunction","for","each","input","element","."]
code: def process(self, o: WindowedValue):
      with self.scoped_process_state:
          if self._has_side_output:
              for value in o.value:
                  for tag, row in self.process_element(value):
                      for p in self._output_processors.get(tag, []):
                          p.process_outputs(o, [row])
          else:
              if isinstance(self.operation, BundleOperation):
                  for value in o.value:
                      self.process_element(value)
                  self._main_output_processor.process_outputs(
                      o, self.operation.finish_bundle()
                  )
              else:
                  for value in o.value:
                      self._main_output_processor.process_outputs(
                          o, self.operation.process_element(value)
                      )
  
imports: import abc
  from abc import abstractmethod
  from typing import Iterable, Any, Dict, List
  from apache_beam.runners.worker.bundle_processor import TimerInfo, DataOutputOperation
  from apache_beam.runners.worker.operations import Operation
  from apache_beam.utils import windowed_value
  from apache_beam.utils.windowed_value import WindowedValue
  from pyflink.common.constants import DEFAULT_OUTPUT_TAG
  from pyflink.fn_execution.flink_fn_execution_pb2 import UserDefinedDataStreamFunction
  from pyflink.fn_execution.table.operations import BundleOperation
  from pyflink.fn_execution.profiler import Profiler
label_desc: Use image node_id 9 for calling the FunctionOperation obj's underlying member method code with example usage: obj.process(o) without return types