private synchronized void run2() {
		checkCharges();
		if (job == null)
			initializeJob();
		job.start();
		stopAtNextRecordingStep = false;
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				Action a = view.getActionMap().get("run");
				if (a != null)
					a.setEnabled(false);
				a = view.getActionMap().get("stop");
				if (a != null)
					a.setEnabled(true);
				notifyRun();
			}
		});
	}