code: public static WSFederationRequest of(final HttpServletRequest request) {
          val wtrealm = request.getParameter(WSFederationConstants.WTREALM);
          val wreply = request.getParameter(WSFederationConstants.WREPLY);
          val wreq = request.getParameter(WSFederationConstants.WREQ);
          val wctx = request.getParameter(WSFederationConstants.WCTX);
          val wfresh = request.getParameter(WSFederationConstants.WREFRESH);
          val whr = request.getParameter(WSFederationConstants.WHR);
          val wresult = request.getParameter(WSFederationConstants.WRESULT);
          val relayState = request.getParameter(WSFederationConstants.RELAY_STATE);
          val samlResponse = request.getParameter(WSFederationConstants.SAML_RESPONSE);
          val state = request.getParameter(WSFederationConstants.STATE);
          val code = request.getParameter(WSFederationConstants.CODE);
          val wa = request.getParameter(WSFederationConstants.WA);
          val wauth = StringUtils.defaultIfBlank(request.getParameter(WSFederationConstants.WAUTH), "default");
          return new WSFederationRequest(wtrealm, wreply, wctx, wfresh, whr, wresult,
              relayState, samlResponse, state, code, wa, wauth, wreq);
      }
docs: Create federation request.
  
  @param request the request
  @return the federation request