protected boolean stopThread(ThreadType type) {
		switch (type) {
		case REPORT:
			if (reportThread == null) {
				return true;
			} else {
				reportThread.setRun(false);
				try {
					reportThread.join(5000);
					reportThread = null;
					return true;
				} catch (InterruptedException e) {
					warn("Could not stop ReportThread", e);
					return false;
				}
			}
		case SAVE:
			if (saveThread == null) {
				return true;
			} else {
				saveThread.setRun(false);
				try {
					saveThread.join(5000);
					saveThread = null;
					return true;
				} catch (InterruptedException e) {
					warn("Could not stop AutoSaveThread", e);
					return false;
				}
			}
		default:
			return false;
		}
	}