class OAuth2Request {

    private Map<String, String> parameters;


    public Optional<String> getParameter(String key) {
        return Optional.ofNullable(parameters)
                .map(params -> params.get(key));
    }

    public OAuth2Request with(String parameter, String key) {<FILL_FUNCTION_BODY>}
}

        if (parameters == null) {
            parameters = new HashMap<>();
        }
        parameters.put(parameter, key);
        return this;
    
<no_super_class>