function _copyCacheEntry ( cacheEntry ) {
        var copy = _.clone( cacheEntry );
        if ( _.isObject( copy.attributes ) ) copy.attributes = _.clone( copy.attributes );
        return copy;
    }
function _copyCacheEntry ( cacheEntry ) {
        var copy = _.clone( cacheEntry );
        if ( _.isObject( copy.attributes ) ) copy.attributes = _.clone( copy.attributes );
        return copy;
    }
function _copyCacheEntry ( cacheEntry ) { var copy = _ . clone ( cacheEntry ) ; if ( _ . isObject ( copy . attributes ) ) copy . attributes = _ . clone ( copy . attributes ) ; return copy ; }
Creates a copy of a cache entry and returns it. Protects the original cache entry from modification, except for
the _pluginData property, which remains writable and can be accessed from the copy.

NB The `attribute` property is cloned and protected, too, if it exists.

@param   {CachedTemplateData} cacheEntry
@returns {CachedTemplateData}
Creates a copy of a cache entry and returns it . Protects the original cache entry from modification except for the _pluginData property which remains writable and can be accessed from the copy .