private static KeyTemplate createPrfBasedKeyTemplate(
      KeyTemplate prfTemplate, KeyTemplate derivedKeyTemplate) throws GeneralSecurityException {
    return KeyTemplate.createFrom(
        PrfBasedKeyDerivationParameters.builder()
            .setPrfParameters((PrfParameters) prfTemplate.toParameters())
            .setDerivedKeyParameters(derivedKeyTemplate.toParameters())
            .build());
  }
Contains key templates that should be part of Tinkey but are not defined in the corresponding
{@link KeyTypeManager#keyFormats()}.

<p>For example, key template {@code HKDF_SHA256_DERIVES_AES128_GCM} requires key template {@code
AES128_GCM} to exist in the {@link Registry}, which requires {@link AeadConfig#register()} to
have been called. Since {@link KeyDerivationConfig} does not automatically call {@link
AeadConfig#register()}, {@code HKDF_SHA256_DERIVES_AES128_GCM} cannot be defined in {@link
PrfBasedDeriverKeyManager#keyFormats()}.
tools/tinkey/src/main/java/com/google/crypto/tink/tinkey/TinkeyKeyTemplates.java