code: public final int genExemptionBlob(byte[] output)
              throws IllegalStateException, ShortBufferException,
              ExemptionMechanismException {
          if (!initialized) {
              throw new IllegalStateException
              ("ExemptionMechanism not initialized");
          }
          int n = exmechSpi.engineGenExemptionBlob(output, 0);
          done = true;
          return n;
      }
docs: Generates the exemption mechanism key blob, and stores the result in
  the <code>output</code> buffer.
  
  <p>If the <code>output</code> buffer is too small to hold the result,
  a <code>ShortBufferException</code> is thrown. In this case, repeat this
  call with a larger output buffer. Use
  {@link #getOutputSize(int) getOutputSize} to determine how big
  the output buffer should be.
  
  @param output the buffer for the result
  
  @return the number of bytes stored in <code>output</code>
  
  @exception IllegalStateException if this exemption mechanism is in
  a wrong state (e.g., has not been initialized).
  @exception ShortBufferException if the given output buffer is too small
  to hold the result.
  @exception ExemptionMechanismException if problem(s) encountered in the
  process of generating.