code: private boolean isBPDExpired() {
          Map<String, String> bpd = passport.getBPD();
          log.info("[BPD] max age: " + maxAge + " days");
  
          long maxMillis = -1L;
          try {
              int days = Integer.parseInt(maxAge);
              if (days == 0) {
                  log.info("[BPD] auto-expiry disabled");
                  return false;
              }
  
              if (days > 0)
                  maxMillis = days * 24 * 60 * 60 * 1000L;
          } catch (NumberFormatException e) {
              log.error(e.getMessage(), e);
              return false;
          }
  
          long lastUpdate = 0L;
          if (bpd != null) {
              String lastUpdateProperty = bpd.get(BPD_KEY_LASTUPDATE);
              try {
                  lastUpdate = lastUpdateProperty != null ? Long.parseLong(lastUpdateProperty) : lastUpdate;
              } catch (NumberFormatException e) {
                  log.error(e.getMessage(), e);
                  return false;
              }
              log.info("[BPD] last update: " + (lastUpdate == 0 ? "never" : new Date(lastUpdate)));
          }
  
          long now = System.currentTimeMillis();
          if (maxMillis < 0 || (now - lastUpdate) > maxMillis) {
              log.info("[BPD] expired, will be updated now");
              return true;
          }
  
          return false;
      }
docs: Prueft, ob die BPD abgelaufen sind und neu geladen werden muessen.
  
  @return true, wenn die BPD abgelaufen sind.