protected Map<String, List<String>> getParams(FacesContext context, NavigationCase navCase, UIOutcomeTarget outcomeTarget) {
        //UI Params
        Map<String, List<String>> params = outcomeTarget.getParams();

        //NavCase Params
        Map<String, List<String>> navCaseParams = navCase.getParameters();
        if (navCaseParams != null && !navCaseParams.isEmpty()) {
            if (params == null) {
                params = new LinkedHashMap<>();
            }

            for (Map.Entry<String, List<String>> entry : navCaseParams.entrySet()) {
                String key = entry.getKey();

                //UIParams take precedence
                if (!params.containsKey(key)) {
                    List<String> values = entry.getValue();
                    if (containsEL(values)) {
                        params.put(key, evaluateValueExpressions(context, values));
                    }
                    else {
                        params.put(key, values);
                    }
                }
            }
        }

        String toFlowDocumentId = navCase.getToFlowDocumentId();
        if (toFlowDocumentId != null) {
            if (params == null) {
                params = new LinkedHashMap<>();
            }

            List<String> flowDocumentIdValues = new ArrayList<>();
            flowDocumentIdValues.add(toFlowDocumentId);
            params.put(FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME, flowDocumentIdValues);

            if (!FlowHandler.NULL_FLOW.equals(toFlowDocumentId)) {
                List<String> flowIdValues = new ArrayList<>();
                flowIdValues.add(navCase.getFromOutcome());
                params.put(FlowHandler.FLOW_ID_REQUEST_PARAM_NAME, flowIdValues);
            }
        }

        return params;
    }
Find all parameters to include by looking at nested uiparams and params of navigation case
primefaces/src/main/java/org/primefaces/renderkit/OutcomeTargetRenderer.java