@Override
    public List<MultifactorAuthenticationRegisteredDevice> findRegisteredDevices(final Principal principal) {
        return Stream.of(duoSecurityMultifactorAuthenticationProvider)
            .filter(Objects::nonNull)
            .filter(BeanSupplier::isNotProxy)
            .map(provider -> provider.getDuoAuthenticationService().getAdminApiService())
            .filter(Optional::isPresent)
            .map(Optional::get)
            .map(Unchecked.function(service -> service.getDuoSecurityUserAccount(principal.getId())))
            .filter(Optional::isPresent)
            .map(Optional::get)
            .map(this::mapDuoSecurityDevice)
            .flatMap(List::stream)
            .collect(Collectors.toList());
    }
This is {@link DuoSecurityMultifactorAuthenticationDeviceManager}.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-duo-core/src/main/java/org/apereo/cas/adaptors/duo/authn/DuoSecurityMultifactorAuthenticationDeviceManager.java