docs: @SuppressWarnings("unchecked")
  	protected T init(String algorithm, PrivateKey privateKey, PublicKey publicKey) {
  		this.algorithm = algorithm;
  
  		if (null == privateKey && null == publicKey) {
  			initKeys();
  		} else {
  			if (null != privateKey) {
  				this.privateKey = privateKey;
  			}
  			if (null != publicKey) {
  				this.publicKey = publicKey;
  			}
  		}
  		return (T) this;
  	}