} else  { if (i != -1)  throw new IllegalArgumentException(NLS.bind(Msg.HEADER_DUPLICATE_KEY_EXCEPTION, key));
} 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; }
	public synchronized Object set(Object key, Object value) {		if (key instanceof String)			key = ((String)key).intern();		int i = getIndex(key);		if (value == null) /* remove */		{			if (i != -1)				return remove(i);		} else /* put */		{			if (i != -1) /* duplicate key */				throw new IllegalArgumentException(NLS.bind(Msg.HEADER_DUPLICATE_KEY_EXCEPTION, key));			add(key, value);		}		return null;	}