public <R> R get(@NotNull final String name, R defaultValue) {
        if (context.containsKey(name)) {
            return get(name);
        } else {
            return defaultValue;
        }
    }
public < R > R get ( @ NotNull final String name , R defaultValue ) { if ( context . containsKey ( name ) ) { return get ( name ) ; } else { return defaultValue ; } }
Allow getting properties in a generified way and return defaultValue if the key does not exist.

@param name The key to get
@param defaultValue value returned when the key does not exist
@return {R} The found object