### Question:
ChangeAssetName extends StagedProductUpdateActionImpl<Product> { public static ChangeAssetName ofAssetKeyAndVariantId(final Integer variantId, final String assetKey, final LocalizedString name) { return ofAssetKeyAndVariantId(variantId, assetKey, name, null); } private  ChangeAssetName(@Nullable final String assetId,@Nullable final String assetKey, @Nullable final Integer variantId, @Nullable final String sku, final LocalizedString name, @Nullable final Boolean staged); String getAssetId(); String getAssetKey(); @Nullable Integer getVariantId(); @Nullable String getSku(); LocalizedString getName(); static ChangeAssetName ofVariantId(final Integer variantId, final String assetId, final LocalizedString name); static ChangeAssetName ofVariantId(final Integer variantId, final String assetId, final LocalizedString name, @Nullable final Boolean staged); static ChangeAssetName ofSku(final String sku, final String assetId, final LocalizedString name); static ChangeAssetName ofSku(final String sku, final String assetId, final LocalizedString name, @Nullable final Boolean staged); static ChangeAssetName ofAssetKeyAndVariantId(final Integer variantId, final String assetKey, final LocalizedString name); static ChangeAssetName ofAssetKeyAndVariantId(final Integer variantId, final String assetKey, final LocalizedString name, @Nullable final Boolean staged); static ChangeAssetName ofAssetKeyAndSku(final String sku, final String assetKey, final LocalizedString name); static ChangeAssetName ofAssetKeyAndSku(final String sku, final String assetKey, final LocalizedString name, @Nullable final Boolean staged);  }### Answer:
@Test public void changeAssetName_ByAssetKeyToJsonString_ShouldSerialiseAssetKeyField() { final UpdateAction<Product> action = ChangeAssetName.ofAssetKeyAndVariantId(1, "foo", ofEnglish("bar"), true); final String actionAsJson = SphereJsonUtils.toJsonString(action); assertThat(actionAsJson).contains("\"assetKey\":\"foo\""); }