} catch (ThreadDeath death) { throw death;
	public String get(String key, String defaultVal) {		if (key.length() > MAX_KEY_LENGTH)			throw new IllegalArgumentException(key);        synchronized(lock) {			if (isRemoved())				throw new IllegalStateException("Node removed");			String value;			try {				value = getSpi(key);			} catch (Throwable t) {				value = null;			}			if (value != null) {				return value;			} else {				return defaultVal;			}		}	}