private void generateStrongModeSet() {
		strongerModeSet.clear();
		strongerModeSet.putAll(getAllModeConflictRules());

		boolean isModified = false;
		List<String> modeToAdd = null;
		do {
			isModified = false;
			for (Entry<String, Set<String>> entry : strongerModeSet.entrySet()) {
				Set<String> mList = entry.getValue();
				modeToAdd = new Vector<String>();
				for (String weakerMode : mList) {
					if (strongerModeSet.containsKey(weakerMode)) {
						Set<String> weakerModeList = strongerModeSet.get(weakerMode);
						for (String m : weakerModeList) {
							if (!mList.contains(m)) modeToAdd.add(m);
						}
					}
				}
				if (modeToAdd.size() > 0) {
					mList.addAll(modeToAdd);
					isModified = true;
				}
			}
		} while (isModified);
	}