code: public HashMap<OmemoDevice, OmemoFingerprint> getActiveFingerprints(BareJid contact)
              throws SmackException.NotLoggedInException, CorruptedOmemoKeyException,
              CannotEstablishOmemoSessionException, SmackException.NotConnectedException, InterruptedException,
              SmackException.NoResponseException {
          synchronized (LOCK) {
              if (getOwnJid() == null) {
                  throw new SmackException.NotLoggedInException();
              }
  
              HashMap<OmemoDevice, OmemoFingerprint> fingerprints = new HashMap<>();
              OmemoCachedDeviceList deviceList = getOmemoService().getOmemoStoreBackend()
                      .loadCachedDeviceList(getOwnDevice(), contact);
  
              for (int id : deviceList.getActiveDevices()) {
                  OmemoDevice device = new OmemoDevice(contact, id);
                  OmemoFingerprint fingerprint = getFingerprint(device);
  
                  if (fingerprint != null) {
                      fingerprints.put(device, fingerprint);
                  }
              }
  
              return fingerprints;
          }
      }
docs: Return all OmemoFingerprints of active devices of a contact.
  TODO: Make more fail-safe
  @param contact contact
  @return Map of all active devices of the contact and their fingerprints.
  
  @throws SmackException.NotLoggedInException
  @throws CorruptedOmemoKeyException
  @throws CannotEstablishOmemoSessionException
  @throws SmackException.NotConnectedException
  @throws InterruptedException
  @throws SmackException.NoResponseException