docs: @Override
      public Builder signWith(String algorithm, String key) throws KeyException {
  
          if (algorithm == null || algorithm.isEmpty() || !algorithm.equals(Constants.SIGNATURE_ALG_HS256)) {
              String err = Tr.formatMessage(tc, "JWT_INVALID_ALGORITHM_ERR", new Object[] { algorithm, Constants.SIGNATURE_ALG_HS256 });
              throw new KeyException(err);
          }
          if (key == null || key.isEmpty()) {
              String err = Tr.formatMessage(tc, "JWT_INVALID_KEY_ERR", new Object[] { algorithm, key });
              throw new KeyException(err);
          }
          alg = algorithm;
          sharedKey = key;
          return this;
      }