public static IdentityDocument fromIdentityDocumentData(String data) {
        byte[] decoded = Base64.getDecoder().decode(data);
        IdentityDocumentEntity docEntity = Exceptions.uncheck(() -> mapper.readValue(decoded, IdentityDocumentEntity.class));
        return new IdentityDocument(
                fromDottedString(docEntity.providerUniqueId()),
                new AthenzService(docEntity.providerService()),
                docEntity.configServerHostname(),
                docEntity.instanceHostname(),
                docEntity.createdAt(),
                docEntity.ipAddresses(),
                IdentityType.fromId(docEntity.identityType()),
                Optional.ofNullable(docEntity.clusterType()).map(ClusterType::from).orElse(null),
                docEntity.ztsUrl(),
                Optional.ofNullable(docEntity.serviceIdentity()).map(AthenzIdentities::from).orElse(null),
                docEntity.unknownAttributes());
    }
Utility class for mapping objects model types and their Jackson binding versions.

@author bjorncs
@author mortent
vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java