             cb = =>
                 @log? 'Aborted Successfully'
                 @rs = null
-                finished_cb()
+                finished_cb() if finished_cb?
             @rs.async_abort(cb)
         else
             @log? 'No Run Detected'

        end_untar = (new Date()).getTime()
        @log? "Untarring took a total of #{end_untar-start_untar}ms."

    run: (studentCode, finished_cb) =>
        ###
            Runs the given Java Code.
            Note, this does not recognize classes.

        fname = 'program.bsh'
        node.fs.writeFileSync(fname, studentCode)
        stdin = -> "\n"
        if beanshellWrapperName?
            class_args = [beanshellWrapperName]
        else
            class_args = [fname]
        finish_cb = =>
