private FederationAuthenticationToken authenticateNow(final Authentication authentication)
throws AuthenticationException {
try {
FederationRequest wfReq = (FederationRequest)authentication.getCredentials();
FederationProcessor wfProc = new FederationProcessorImpl();
FederationResponse wfRes = wfProc.processRequest(wfReq, federationConfig.getFederationContext());
final UserDetails userDetails = loadUserByFederationResponse(wfRes);
userDetailsChecker.check(userDetails);
return new FederationAuthenticationToken(userDetails, authentication.getCredentials(),
authoritiesMapper.mapAuthorities(userDetails.getAuthorities()), userDetails, wfRes);