code: @Override
      public HashMap<String, PublicKey> getPublicKeys() throws MpJwtProcessingException {
          String methodName = "getPublicKeys";
          if (tc.isDebugEnabled()) {
              Tr.entry(tc, methodName);
          }
          if (this.jsseHelper == null) {
              init();
          }
          // TODO due to dynamic changes on keyStore, we have to load the public keys every time.
          HashMap<String, PublicKey> publicKeys = new HashMap<String, PublicKey>();
          if (this.sslTrustStoreName == null) {
              if (tc.isDebugEnabled()) {
                  Tr.exit(tc, methodName, publicKeys);
              }
              return publicKeys;
          }
          try {
              publicKeys = getPublicKeysFromKeystore();
          } catch (Exception e) {
              String msg = Tr.formatMessage(tc, "FAILED_TO_LOAD_PUBLIC_KEYS", new Object[] { sslTrustStoreName, e.getLocalizedMessage() });
              Tr.error(tc, msg);
              throw new MpJwtProcessingException(msg, e);
          }
  
          if (tc.isDebugEnabled()) {
              Tr.exit(tc, methodName, publicKeys);
          }
          return publicKeys;
      }
docs: {@inheritDoc}
  
  @throws MpJwtProcessingException