code: public CMAAsset update(CMAAsset asset) {
      assertNotNull(asset, "asset");
      final String assetId = getResourceIdOrThrow(asset, "asset");
      final String spaceId = getSpaceIdOrThrow(asset, "asset");
      final String environmentId = asset.getEnvironmentId();
      final Integer version = getVersionOrThrow(asset, "update");
  
      final CMASystem sys = asset.getSystem();
      asset.setSystem(null);
  
      try {
        return service.update(version, spaceId, environmentId, assetId, asset).blockingFirst();
      } finally {
        asset.setSystem(sys);
      }
    }
docs: Update an Asset.
  
  @param asset Asset
  @return {@link CMAAsset} result instance
  @throws IllegalArgumentException if asset is null.
  @throws IllegalArgumentException if asset's id is null.
  @throws IllegalArgumentException if asset's space id is null.
  @throws IllegalArgumentException if asset's version is null.