code: private void startWorker() throws IOException, ConnectionFailedException {
      mWorker = JobWorkerProcess.Factory.create();
      Runnable runWorker = new Runnable() {
        @Override
        public void run() {
          try {
            mWorker.start();
          } catch (Exception e) {
            throw new RuntimeException(e + " \n Start Worker Error \n" + e.getMessage(), e);
          }
        }
      };
      mWorkerThread = new Thread(runWorker);
      mWorkerThread.start();
    }
docs: Runs a worker.
  
  @throws IOException if an I/O error occurs
  @throws ConnectionFailedException if network connection failed