try {
//Throws RulesRepositoryException if the package or asset does not exist
AssetItem ai = rulesRepository.loadModule(packageName).loadAsset(assetName);
/* Update asset */
ai.checkout();
ai.updateTitle(asset.getTitle());
ai.updateDescription(asset.getDescription());
ai.updateValid(assetValidator.validate(ai));
if (AssetFormats.affectsBinaryUpToDate(ai.getFormat())) {
ModuleItem pkg = ai.getModule();
pkg.updateBinaryUpToDate(false);