code: public final CryptoKeyVersion createCryptoKeyVersion(
        CryptoKeyName parent, CryptoKeyVersion cryptoKeyVersion) {
  
      CreateCryptoKeyVersionRequest request =
          CreateCryptoKeyVersionRequest.newBuilder()
              .setParent(parent == null ? null : parent.toString())
              .setCryptoKeyVersion(cryptoKeyVersion)
              .build();
      return createCryptoKeyVersion(request);
    }
docs: Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
  [CryptoKey][google.cloud.kms.v1.CryptoKey].
  
  <p>The server will assign the next sequential id. If unset,
  [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
  [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
  
  <p>Sample code:
  
  <pre><code>
  try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
  CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
  CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
  CryptoKeyVersion response = keyManagementServiceClient.createCryptoKeyVersion(parent, cryptoKeyVersion);
  }
  </code></pre>
  
  @param parent Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
  [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
  [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
  @param cryptoKeyVersion A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial
  field values.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails