public synchronized void threadStart(SimThread t) {
		if (Constants.muCheck) {
			if ((Constants.muIncS += Constants.muIncUp) <= .95) {
				t.Constants._epsilon = this.epsilon;
				t.Constants._SIM_epsilon_start = this.epsilon;
				t.Constants._SIM_epsilon_final = this.epsilon;
				t.setRunNum(runNum);
				runNum++;
				DataHolder holder = new DataHolder();
				holder.init(t);
				t.start();
			}
		} else if (Constants.ConstantEp) {
			if (Main.threads.size() < 2) {
				t.Constants._epsilon = this.epsilon;
				t.Constants._SIM_epsilon_start = t.Constants._epsilon;
				t.Constants._SIM_epsilon_final = t.Constants._epsilon;
				t.setRunNum(runNum);
				runNum++;
				DataHolder holder = new DataHolder();
				holder.init(t);
				t.start();
			} else {
				threadCheck(t);
				t.start();
			}
		} else if (t.Constants._epsilon != constants._SIM_epsilon_final) {
			t.Constants._epsilon = this.epsilon;
			t.Constants._SIM_epsilon_start = t.Constants._epsilon;
			t.Constants._SIM_epsilon_final = t.Constants._epsilon;
			this.epsilon += this.constants._SIM_epsilon_step;
			t.setRunNum(runNum);
			runNum++;
			DataHolder holder = new DataHolder();
			holder.init(t);
			t.start();
		}
	}