docs: public PGPPublicKeyRingCollection getAnnouncedPublicKeys() throws IOException, PGPException {
          PGPPublicKeyRingCollection anyKeys = getAnyPublicKeys();
          Map<OpenPgpV4Fingerprint, Date> announced = store.getAnnouncedFingerprintsOf(jid);
  
          BareJidUserId.PubRingSelectionStrategy userIdFilter = new BareJidUserId.PubRingSelectionStrategy();
  
          PGPPublicKeyRingCollection announcedKeysCollection = null;
          for (OpenPgpV4Fingerprint announcedFingerprint : announced.keySet()) {
              PGPPublicKeyRing ring = anyKeys.getPublicKeyRing(announcedFingerprint.getKeyId());
  
              if (ring == null) continue;
  
              ring = BCUtil.removeUnassociatedKeysFromKeyRing(ring, ring.getPublicKey(announcedFingerprint.getKeyId()));
  
              if (!userIdFilter.accept(getJid(), ring)) {
                  LOGGER.log(Level.WARNING, "Ignore key " + Long.toHexString(ring.getPublicKey().getKeyID()) +
                          " as it lacks the user-id \"xmpp" + getJid().toString() + "\"");
                  continue;
              }
  
              if (announcedKeysCollection == null) {
                  announcedKeysCollection = new PGPPublicKeyRingCollection(Collections.singleton(ring));
              } else {
                  announcedKeysCollection = PGPPublicKeyRingCollection.addPublicKeyRing(announcedKeysCollection, ring);
              }
          }
  
          return announcedKeysCollection;
      }