public void generateKey(NLSSubstitution[] substitutions, String keyPrefix) { if (fState != EXTERNALIZED || ((fState == EXTERNALIZED) && hasChanged())) {
public void generateKey(NLSSubstitution[] substitutions) { if (fState != EXTERNALIZED || ((fState == EXTERNALIZED) && hasStateChanged())) {
    public void generateKey(NLSSubstitution[] substitutions, String keyPrefix) {    	if (fState != EXTERNALIZED || ((fState == EXTERNALIZED) && hasChanged())) {    		    		int counter = 0;    		fKey = createKey(counter);    		while(true) {    			int i;    			for (i = 0; i < substitutions.length; i++) {    				NLSSubstitution substitution = substitutions[i];    				if ((substitution == this) || (substitution.fState != EXTERNALIZED)) continue;    				if (substitution.hasChanged()) {    					if (substitution.getKey().equals(fKey)) {        					fKey = createKey(counter++);        					break;        				}    				} else {    					if (substitution.getKey().equals(getKeyWithPrefix(keyPrefix))) {    						fKey = createKey(counter++);    						break;    					}    				}    			}    			if (i == substitutions.length) return;    		}    	}    }