docs: void changeSignedPreKey(OmemoDevice userDevice)
              throws CorruptedOmemoKeyException {
  
          T_IdKeyPair idKeyPair = loadOmemoIdentityKeyPair(userDevice);
          if (idKeyPair == null) {
              throw new IllegalStateException("Our IdentityKeyPair is null.");
          }
  
          TreeMap<Integer, T_SigPreKey> signedPreKeys = loadOmemoSignedPreKeys(userDevice);
          if (signedPreKeys.size() == 0) {
              T_SigPreKey newKey = generateOmemoSignedPreKey(idKeyPair, 1);
              storeOmemoSignedPreKey(userDevice, 1, newKey);
          } else {
              int lastId = signedPreKeys.lastKey();
              T_SigPreKey newKey = generateOmemoSignedPreKey(idKeyPair, lastId + 1);
              storeOmemoSignedPreKey(userDevice, lastId + 1, newKey);
          }
  
          setDateOfLastSignedPreKeyRenewal(userDevice, new Date());
          removeOldSignedPreKeys(userDevice);
      }