code:   public static JWTDecoder getInstance() {
      if (instance == null) {
        instance = new JWTDecoder();
      }
  
      return instance;
    }
  
    /**
     * Decode the JWT using one of they provided verifiers. One more verifiers may be provided, the first verifier found
     * supporting the algorithm reported by the JWT header will be utilized.
     * <p>
     * A JWT that is expired or not yet valid will not be decoded, instead a {@link JWTExpiredException} or {@link
     * JWTUnavailableForProcessingException} exception will be thrown respectively.
     *
     * @param encodedJWT The encoded JWT in string format.
     * @param verifiers  A map of verifiers.
     * @return a decoded JWT.
     */
  