public <T> T getValue(final String key, final T def) {
		T val = getValue(key);

		if (val == null) {
			if (map.containsKey(key)) {
				return null;
			}
			return def;
		}

		return val;
	}
public <T> T getValue(final String key, final T def) {
		T val = getValue(key);

		if (val == null) {
			if (map.containsKey(key)) {
				return null;
			}
			return def;
		}

		return val;
	}
public < T > T getValue ( final String key , final T def ) { T val = getValue ( key ) ; if ( val == null ) { if ( map . containsKey ( key ) ) { return null ; } return def ; } return val ; }
Like {@link #getValue(String)} but specifies a default value to return if there is no entry.
Like {