class_docstr: An :class:`OutputTag` is a typed and named tag to use for tagging side outputs of an operator.
  
  Example:
  ::
  
      # Explicitly specify output type
      >>> info = OutputTag("late-data", Types.TUPLE([Types.STRING(), Types.LONG()]))
      # Implicitly wrap list to Types.ROW
      >>> info_row = OutputTag("row", [Types.STRING(), Types.LONG()])
      # Implicitly use pickle serialization
      >>> info_side = OutputTag("side")
      # ERROR: tag id cannot be empty string (extra requirement for Python API)
      >>> info_error = OutputTag("")
code: def get_java_output_tag(self):
      gateway = get_gateway()
      if self._j_output_tag is None:
          self._j_output_tag = (
              gateway.jvm.org.apache.flink.util.OutputTag(
                  self.tag_id, self.type_info.get_java_type_info()
              )
          )
      return self._j_output_tag
  
file_path: flink/flink-python/pyflink/datastream/output_tag.py
imports: from typing import Optional, Union
  from pyflink.common.typeinfo import TypeInformation, Types, RowTypeInfo
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 4 for calling the OutputTag obj's underlying member method code with example usage: obj.get_java_output_tag() and returns: self