public static final KeyTemplate rawAes128GcmTemplate() {
    return exceptionIsBug(
        () ->
            KeyTemplate.createFrom(
                AesGcmParameters.builder()
                    .setIvSizeBytes(12)
                    .setKeySizeBytes(16)
                    .setTagSizeBytes(16)
                    .setVariant(AesGcmParameters.Variant.NO_PREFIX)
                    .build()));
  }
@return a {@link KeyTemplate} that generates new instances of AES-GCM with the following
    parameters:
    <ul>
      <li>Key size: 16 bytes
      <li>Prefix type: {@link KeyTemplate.OutputPrefixType#RAW} (no prefix)
    </ul>
    <p>Keys generated from this template should create ciphertexts compatible with other
    libraries.
    <p>On Android KitKat (API level 19), the {@link com.google.crypto.tink.Aead} instance
    generated by this key template does not support associated data. It might not work at all
    in older versions.
java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java