dataManager.completeData = function(animationData, fontManager) {
    if(animationData.__complete){
            return;
        }
        this.checkColors(animationData);
        this.checkChars(animationData);
        this.checkShapes(animationData);
        this.completeLayers(animationData.layers, animationData.assets, fontManager);
        animationData.__complete = true;
}
