Buggy code:
public class XmlAssetArchive extends BaseXmlArchive implements AssetArchive { private static final Log log = LogFactory . getLog ( XmlAssetArchive . class ) ; protected PageManager fieldPageManager ; protected ModuleManager fieldModuleManager ; protected MediaArchive fieldMediaArchive ; protected XmlUtil fieldXmlUtil ; protected boolean fieldUpdateExistingRecord = true ; protected CacheManager fieldCacheManager ; public XmlAssetArchive ( ) { } public CacheManager getCacheManager ( ) { } public void setCacheManager ( CacheManager inCacheManager ) { } protected String toCacheId ( ) { } public void clearAssets ( ) { } public void deleteAsset ( Asset inAsset ) { } public void clearAsset ( Asset inAsset ) { } public Asset getAssetBySourcePath ( String inSourcePath ) { } public Asset getAssetBySourcePath ( String inSourcePath , boolean inAutoCreate ) { } public String buildXmlPath ( Asset inAsset ) { } public String buildOldPath ( Asset inAsset ) { } protected boolean populateAsset ( Asset inAsset ) { } protected boolean populateAsset ( Asset inAsset , Element inAssetElement ) { } protected void loadRelatedAssets ( Asset inAsset , Element inAssetConfig ) { } public void saveAsset ( Asset inAsset ) { } public void saveData ( Data inData , User inUser ) { } public void saveAsset ( Asset inAsset , User inUser ) { } public void saveAsset ( Asset inAsset , User inUser , Lock inLock ) { } public void saveAsset ( Asset inAsset , Element assetelm ) { saveAssetAttributes ( inAsset , assetelm ) ; saveAssetCategories ( inAsset , assetelm ) ; deleteElements ( assetelm , "property" ) ; PropertyDetails details = getMediaArchive ( ) . getAssetPropertyDetails ( ) ; PropertyDetail moddetail = details . getDetail ( "recordmodificationdate" ) ; if ( moddetail != null ) { String recordmod = DateStorageUtil . getStorageUtil ( ) . formatForStorage ( new Date ( ) ) ; inAsset . setProperty ( "recordmodificationdate" , recordmod ) ; } for ( Iterator iter = inAsset . getProperties ( ) . keySet ( ) . iterator ( ) ; iter . hasNext ( ) ; ) { String key = ( ( String ) ( iter . next ( ) ) ) ; <START_BUG> if ( key . startsWith ( "_" ) ) { <END_BUG> continue ; } PropertyDetail detail = details . getDetail ( key ) ; String value = inAsset . getProperty ( key ) ; if ( ( value != null ) && ( ( value . length ( ) ) > 0 ) ) { value = value . trim ( ) ; Element newProperty = assetelm . addElement ( "property" ) ; newProperty . addAttribute ( "name" , key ) ; if ( ( detail != null ) && ( detail . isViewType ( "html" ) ) ) { newProperty . addCDATA ( value ) ; } else { if ( value . contains ( "<seq2seq4repair_space>" ) ) { newProperty . addCDATA ( value ) ; } else { newProperty . setText ( value ) ; } } } } saveRelatedAssets ( inAsset , assetelm ) ; } protected boolean hasProperty ( Element inRootElement , String inName ) { } private Document loadXconfDocument ( ContentItem item , String encode ) throws OpenEditException , IOException , DocumentException { } protected void saveAssetAttributes ( Asset inAsset , Element assetelm ) { } protected void saveKeywords ( Asset inAsset , Element inAssetElment ) { } private void saveAssetCategories ( Asset inAsset , Element assetelm ) { } protected void saveRelatedAssets ( Asset inAsset , Element inAssetElement ) { } protected void loadCategories ( Asset inAsset , Element inAssetConfig ) { } public PageManager getPageManager ( ) { } public void setPageManager ( PageManager inPageManager ) { } protected CategoryArchive getCategoryArchive ( ) { } public XmlUtil getXmlUtil ( ) { } public void setXmlUtil ( XmlUtil inUtil ) { } public boolean isUpdateExistingRecord ( ) { } public void setUpdateExistingRecord ( boolean inUpdateExistingRecord ) { } public ModuleManager getModuleManager ( ) { } public void setModuleManager ( ModuleManager inModuleManager ) { } public MediaArchive getMediaArchive ( ) { } @ Override public void setXmlArchive ( XmlArchive inXmlArchive ) { } @ Override public void setDataFileName ( String inDataFileName ) { } @ Override public void setElementName ( String inSearchType ) { } @ Override public void setPathToData ( String inPathToData ) { } @ Override public XmlArchive getXmlArchive ( ) { } @ Override public void delete ( Data inData , User inUser ) { } @ Override public void saveAllData ( Collection < Data > inAll , String catalogid , String inLockPrefix , User inUser ) { } @ Override public void saveData ( Data inData , User inUser , Lock inLock ) { } }

Fix:
if ( ( key . startsWith ( "_" ) ) || ( key . equals ( "description" ) ) ) {