<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def spawn(self, classpath, main, jvm_options=None, args=None, cwd=None, **subprocess_args):
 """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. """

    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)