docs: def commit(self, wait=False, additionalParams={}):
          """
          Commit is called once all parts are uploaded during a multipart Add
          Item or Update Item operation. The parts are combined into a file,
          and the original file is overwritten during an Update Item
          operation. This is an asynchronous call and returns immediately.
          Status can be used to check the status of the operation until it is
          completed.
  
          Inputs:
             itemId - unique item id
             folderId - folder id value, optional
             wait - stops the thread and waits for the commit to finish or fail.
             additionalParams - optional key/value pair like
                                type : "File Geodatabase". This is mainly used
                                when multipart uploads occur.
          """
  
          url = "%s/commit" % self.root
          params = {
              "f" : "json",
          }
          for key, value in additionalParams.items():
              params[key] = value
          if wait == True:
              res = self._post(url=url,
                                  param_dict=params,
                                  securityHandler=self._securityHandler,
                                  proxy_port=self._proxy_port,
                                  proxy_url=self._proxy_url)
              res = self.status()
              import time
              while res['status'].lower() in ["partial", "processing"]:
                  time.sleep(2)
                  res = self.status()
              return res
          else:
              return self._post(url=url,
                                   param_dict=params,
                                   securityHandler=self._securityHandler,
                                   proxy_port=self._proxy_port,
                                   proxy_url=self._proxy_url)