code: def call_juman_interface(self, input_str):
          # type: (text_type) -> MList
          
          if isinstance(self.jumanpp_obj, Juman):
              ml_token_object = self.jumanpp_obj.analysis(input_str=input_str)
          elif isinstance(self.jumanpp_obj, JumanppHnadler):
              try:
                  result_token = self.jumanpp_obj.query(input_string=input_str)
              except ProcessDownException:
                  """Unix process is down by any reason."""
                  logger.warning("Re-starting unix process because it takes longer time than {} seconds...".format(self.jumanpp_obj.timeout_second))
                  self.jumanpp_obj.restart_process()
                  self.jumanpp_obj.query(self.dummy_text)
                  result_token = self.jumanpp_obj.query(input_string=input_str)
                  ml_token_object = MList(result_token)
              except UnicodeDecodeError:
                  logger.warning(msg="Process is down by some reason. It restarts process automatically.")
                  self.jumanpp_obj.restart_process()
                  self.jumanpp_obj.query(self.dummy_text)
                  result_token = self.jumanpp_obj.query(input_string=input_str)
                  ml_token_object = MList(result_token)
              else:
                  ml_token_object = MList(result_token)
          elif isinstance(self.jumanpp_obj, JumanppClient):
              server_response = self.jumanpp_obj.query(sentence=input_str, pattern=self.eos_pattern)
              ml_token_object = MList(server_response)
          else:
              raise Exception('Not defined')
  
          return ml_token_object
docs: * What you can do
          - You call Juman tokenizer interface.
  
          * Output
          - pyknp.MList