if (undeterminedThread != null) { undeterminedThread.interrupt(); undeterminedThread = null; }
	public int startProgress( int min, int max, String message, boolean undetermined) {		if (progressOn)		{			Log.log(Log.INFO, "Hijacking progress by creating a new one");		}		progressOn = true;		progress.setMinimum(min);		progress.setValue(min);		progress.setMaximum(max);		//progress.setStringPainted( true );				if (undetermined && undeterminedThread == null) {			undeterminedThread = new Thread() {				public void run() {					boolean forward = true;					while (! interrupted() ) {						if (progress.getValue() >= progress.getMaximum()) {							forward = false;						} else if (progress.getValue() <= progress.getMinimum()) {							forward = true;						}												updateProgressValue(progressId, progress.getValue() + (forward?1:-1));												try {							sleep(500);						} catch (InterruptedException e) {}					}				}			};			undeterminedThread.start();		}		status.setText(message + "...");		return ++progressId;	}