public <T> T getPropertyNonNull(final String key, final T defaultValue) {
    """
	Gets the property with the given key.
	
	@param key the key
	@param defaultValue the default value
	@param <T> the property value type
	@return the property value, or the default value if the property is not defined
	@throws IllegalArgumentException if the value and default value are null
	@since 3.7
    """
        T value = getProperty(key, defaultValue);
        if (value == null) {
            throw new IllegalArgumentException();
        }
        return value;
    }
public <T> T getPropertyNonNull(final String key, final T defaultValue) {
        T value = getProperty(key, defaultValue);
        if (value == null) {
            throw new IllegalArgumentException();
        }
        return value;
    }
public < T > T getPropertyNonNull ( final String key , final T defaultValue ) { T value = getProperty ( key , defaultValue ) ; if ( value == null ) { throw new IllegalArgumentException ( ) ; } return value ; }
Gets the property with the given key.

@param key the key
@param defaultValue the default value
@param <T> the property value type
@return the property value, or the default value if the property is not defined
@throws IllegalArgumentException if the value and default value are null
@since 3.7
Gets the property with the given key .