docs: protected AuthenticationHandlerExecutionResult createResult(final ClientCredential credentials, final UserProfile profile,
                                                                  final BaseClient client) throws GeneralSecurityException {
          if (profile == null) {
              throw new FailedLoginException("Authentication did not produce a user profile for: " + credentials);
          }
  
          val id = determinePrincipalIdFrom(profile, client);
          if (StringUtils.isBlank(id)) {
              throw new FailedLoginException("No identifier found for this user profile: " + profile);
          }
          credentials.setUserProfile(profile);
          credentials.setTypedIdUsed(isTypedIdUsed);
          val attributes = CoreAuthenticationUtils.convertAttributeValuesToMultiValuedObjects(profile.getAttributes());
          val principal = this.principalFactory.createPrincipal(id, attributes);
          LOGGER.debug("Constructed authenticated principal [{}] based on user profile [{}]", principal, profile);
          return finalizeAuthenticationHandlerResult(credentials, principal, profile, client);
      }