public synchronized Object set(Object key, Object value) { return set(key, value, false);
public synchronized Object set(Object key, Object value, boolean replace) { if (key instanceof String) key = ((String)key).intern(); int i = getIndex(key); if (value == null) {  if (i != -1) return remove(i); } else {  if (i != -1) {  if (!replace) throw new IllegalArgumentException(NLS.bind(Msg.HEADER_DUPLICATE_KEY_EXCEPTION, key)); Object oldVal = values[i]; values[i] = value; return oldVal; } add(key, value); } return null;
	public synchronized Object set(Object key, Object value) {		return set(key, value, false);	}