Bug 91137 hashCode() + equals() inefficiencies
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Parameterization.java
.iterator();
		String returnValue = null;
		while (parameterValueItr.hasNext()) {
			final Map.Entry entry = (Map.Entry) parameterValueItr.next();
			final String currentValue = (String) entry.getValue();
			if (Util.equals(value, currentValue)) {
				returnValue = (String) entry.getKey();
				break;
			}
		}
		if (returnValue == null) {
			return Util.ZERO_LENGTH_STRING;
		}
		return returnValue;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	public final int hashCode() {
		if (hashCode == HASH_CODE_NOT_COMPUTED) {
			hashCode = HASH_INITIAL * HASH_FACTOR + Util.hashCode(parameter);
			hashCode = HASH_INITIAL * HASH_FACTOR + Util.hashCode(value);
			if (hashCode == HASH_CODE_NOT_COMPUTED) {
				hashCode++;
			}
		}
		return hashCode;
	}
}