/**
  * Lee las clasificaciones del usuario y del plugin de sus respectivos ficheros xml y devuelve la
  * union de ambas.
  *
  * @return conjunto que contiene las clasificaciones de usuario y del plugin
  */
 protected static Set<Classification> readAllClassificationsFromFiles() {
   final Set<Classification> pluginClassifications =
       AbstractCatalog.getClassificationsFromFile(
           PluginClassificationsCatalog.PLUGIN_CLASSIFICATION_TYPES_FILE, false);
   final Set<Classification> userClassifications =
       AbstractCatalog.getClassificationsFromFile(
           PluginClassificationsCatalog.USER_CLASSIFICATION_TYPES_FILE, true);
   return Sets.union(pluginClassifications, userClassifications);
 }
 @Override
 public void removeClassification(String classification) {
   // No se puede eliminar la clasificacion Scope
   Preconditions.checkArgument(!classification.equals(SCOPE_CLASSIFICATION));
   super.removeClassification(classification);
   updateClassificationsFile();
 }
 @Override
 public void setDescription(String classification, String description) {
   super.setDescription(classification, description);
   updateClassificationsFile();
 }
 @Override
 public void setMultiCategory(String classification, boolean isMultiCategory) {
   super.setMultiCategory(classification, isMultiCategory);
   updateClassificationsFile();
 }
 @Override
 public void addClassification(Classification classification) {
   super.addClassification(classification);
   updateClassificationsFile();
 }
 @Override
 public void renameClassification(String clasifName, String clasifNewName) {
   Preconditions.checkArgument(!clasifName.equals(SCOPE_CLASSIFICATION));
   super.renameClassification(clasifName, clasifNewName);
   updateClassificationsFile();
 }
 /**
  * Se encarga de renombrar la categoria y actualizar las definiciones en ficheros xml de las
  * refactorizaciones que pertenecen a la categoria.
  */
 @Override
 public void renameCategory(String classifName, String oldName, String newName) {
   super.renameCategory(classifName, oldName, newName);
   updateClassificationsFile();
 }
 /**
  * Tambien se ocupa de actualizar el fichero de clasificaciones y de los ficheros xml de
  * refactorizaciones a parte de la funcionalidad de gestion en memoria.
  */
 @Override
 public void removeCategory(String classifName, String name) {
   super.removeCategory(classifName, name);
   updateClassificationsFile();
 }
 /**
  * Tambien se ocupa de actualizar el fichero de clasificaciones a parte de la funcionalidad de
  * gestion de clasificaciones en memoria.
  */
 @Override
 public void addCategoryToClassification(String classifName, String name) {
   super.addCategoryToClassification(classifName, name);
   updateClassificationsFile();
 }