code: private byte[] computeJ0(byte[] nonce) {
           final int blockSize = getBlockSizeInBytes();
           byte[] J0 = new byte[blockSize];
           System.arraycopy(nonce, 0, J0, 0, nonce.length);
           J0[blockSize - 1] = 0x01;
           return incrementBlocks(J0, 1);
       }
docs: See <a href=
  "http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf">
  NIST Special Publication 800-38D.</a> for the definition of J0, the
  "pre-counter block".
  <p>
  Reference: <a href=
  "https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java"
  >GCMBlockCipher.java</a>