docs: public Optional<AuthenticationResultBuilder> buildSurrogateAuthenticationResult(final AuthenticationResultBuilder authenticationResultBuilder,
                                                                                      final Credential credential,
                                                                                      final String surrogateTargetId,
                                                                                      final RegisteredService registeredService) {
          val currentAuthn = authenticationResultBuilder.getInitialAuthentication();
          if (currentAuthn.isPresent()) {
              val authentication = currentAuthn.get();
              val surrogatePrincipal = buildSurrogatePrincipal(surrogateTargetId, authentication.getPrincipal(), credential, registeredService);
              val auth = DefaultAuthenticationBuilder.newInstance(authentication).setPrincipal(surrogatePrincipal).build();
              return Optional.of(authenticationResultBuilder.collect(auth));
          }
          return Optional.empty();
      }