WebAuthnAuthenticatorImpl extends AuthenticatorImpl implements WebAuthnAuthenticator { @Override public Serializable getUserPrincipal() { return userPrincipal; } @SuppressWarnings("java:S107")  WebAuthnAuthenticatorImpl(
            String name,
            Serializable userPrincipal,
            AttestedCredentialData attestedCredentialData,
            AttestationStatement attestationStatement,
            long counter,
            Set<AuthenticatorTransport> transports,
            AuthenticationExtensionsClientOutputs<RegistrationExtensionClientOutput> clientExtensions,
            AuthenticationExtensionsAuthenticatorOutputs<RegistrationExtensionAuthenticatorOutput> authenticatorExtensions);  WebAuthnAuthenticatorImpl(
            String name,
            Serializable userPrincipal,
            AttestedCredentialData attestedCredentialData,
            AttestationStatement attestationStatement,
            long counter); String getName(); void setName(String name); @Override Serializable getUserPrincipal(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void get_set_userPrincipal_test() { UserDetails userDetails = mock(UserDetails.class); WebAuthnAuthenticatorImpl instance = new WebAuthnAuthenticatorImpl("authenticator", userDetails, null, null, 0); assertThat(instance.getUserPrincipal()).isEqualTo(userDetails); }