protected String getTargetURL(FacesContext context, UIOutcomeTarget outcomeTarget) {
        String url;

        boolean clientWindowRenderingModeEnabled = false;
        ClientWindow clientWindow = null;
        try {
            if (outcomeTarget.isDisableClientWindow()) {
                clientWindow = context.getExternalContext().getClientWindow();

                if (clientWindow != null) {
                    clientWindowRenderingModeEnabled = clientWindow.isClientWindowRenderModeEnabled(context);

                    if (clientWindowRenderingModeEnabled) {
                        clientWindow.disableClientWindowRenderMode(context);
                    }
                }
            }

            String href = outcomeTarget.getHref();
            if (href != null) {
                url = "#".equals(href) ? "#" : context.getExternalContext().encodeRedirectURL(href, outcomeTarget.getParams());
            }
            else {
                NavigationCase navCase = findNavigationCase(context, outcomeTarget);

                if (navCase == null) {
                    throw new FacesException("Could not resolve NavigationCase for outcome: " + outcomeTarget.getOutcome());
                }

                String toViewId = navCase.getToViewId(context);
                boolean isIncludeViewParams = isIncludeViewParams(outcomeTarget, navCase);
                Map<String, List<String>> params = getParams(context, navCase, outcomeTarget);

                if (params == null) {
                    params = Collections.emptyMap();
                }

                url = context.getApplication().getViewHandler().getBookmarkableURL(context, toViewId, params, isIncludeViewParams);

                if (outcomeTarget.getFragment() != null) {
                    url += "#" + outcomeTarget.getFragment();
                }
            }
        }
        finally {
            if (clientWindowRenderingModeEnabled) {
                clientWindow.enableClientWindowRenderMode(context);
            }
        }

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