code: def spawn(self, classpath, main, jvm_options=None, args=None, cwd=None, **subprocess_args):
      
      cwd = cwd or os.getcwd()
      cmd = self._create_command(*self._scrub_args(classpath, main, jvm_options, args, cwd=cwd))
      return self._spawn(cmd, cwd, **subprocess_args)
docs: Spawns the java program passing any extra subprocess kwargs on to subprocess.Popen.
  
      Returns the Popen process object handle to the spawned java program subprocess.
  
      :API: public
  
      :raises: :class:`Executor.Error` if there is a problem spawning the subprocess.