parameters: (self, keys, inputs, emitter)
docstring: Indicate the beginning of a group, SideInputs are wrapped from re-iterable inputs and
          are available as self._side_inputs
  
          Args:
            keys (list):  keys of the group to start
            inputs (list):  re-iterable inputs with the group
            emitter (FlumeEmitter):  emitter to send the output
docstring_summary: Indicate the beginning of a group, SideInputs are wrapped from re-iterable inputs and
          are available as self._side_inputs
docstring_tokens: Indicate the beginning of a group SideInputs are wrapped from re - iterable inputs and are available as self . _side_inputs
function: def begin(self, keys, inputs, emitter):
          """
          Indicate the beginning of a group, SideInputs are wrapped from re-iterable inputs and
          are available as self._side_inputs
  
          Args:
            keys (list):  keys of the group to start
            inputs (list):  re-iterable inputs with the group
            emitter (FlumeEmitter):  emitter to send the output
          """
          super(ProcessorWithSideInputs, self).begin(keys, inputs, emitter)
  
          side_inputs = []
          assert len(self._side_input_types) == (len(inputs) - 1)
  
          for i in range(0, len(self._side_input_types)):
              if self._side_input_types[i].type == "PCollection":
                  collection = []
                  while inputs[i].has_next():
                      collection.append(inputs[i].next())
  
                  side_inputs.append(collection)
  
              elif self._side_input_types[i].type == "PObject":
                  if not inputs[i].has_next():
                      raise error.BigflowRuntimeException("PObject doesn't have any element")
                  side_inputs.append(inputs[i].next())
  
          self._side_inputs = tuple(side_inputs)
function_tokens: def begin ( self , keys , inputs , emitter ) : super ( ProcessorWithSideInputs , self ) . begin ( keys , inputs , emitter ) side_inputs = [ ] assert len ( self . _side_input_types ) == ( len ( inputs ) - 1 ) for i in range ( 0 , len ( self . _side_input_types ) ) : if self . _side_input_types [ i ] . type == "PCollection" : collection = [ ] while inputs [ i ] . has_next ( ) : collection . append ( inputs [ i ] . next ( ) ) side_inputs . append ( collection ) elif self . _side_input_types [ i ] . type == "PObject" : if not inputs [ i ] . has_next ( ) : raise error . BigflowRuntimeException ( "PObject doesn't have any element" ) side_inputs . append ( inputs [ i ] . next ( ) ) self . _side_inputs = tuple ( side_inputs )