/**
   * Return a XML with config
   *
   * @param path Path for saving de config
   * @param config GUIConfig
   */
  public static void saveXMLFromGUIConfig(String path, GUIConfig config) {
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder;
    Document doc = null;
    try {
      docBuilder = docFactory.newDocumentBuilder();

      // root elements
      doc = docBuilder.newDocument();
      Element rootElement = doc.createElement("gui-configuration");
      doc.appendChild(rootElement);

      Element language = doc.createElement("language");
      language.setTextContent(config.getLanguage());
      rootElement.appendChild(language);

      Element recentConfigFiles = doc.createElement("recentConfigFiles");
      rootElement.appendChild(recentConfigFiles);

      for (String configFilePath : config.getRecentConfigFiles()) {
        Element configFile = doc.createElement("configFile");
        configFile.setTextContent(configFilePath);
        recentConfigFiles.appendChild(configFile);
      }

      // write the content into xml file
      TransformerFactory transformerFactory = TransformerFactory.newInstance();
      Transformer transformer = transformerFactory.newTransformer();
      DOMSource source = new DOMSource(doc);

      // At the moment we are not to validate Scheme
      // validateSchema(doc, Constants.configSchemaFilePath);

      // normalize text representation
      doc.getDocumentElement().normalize();

      StreamResult result = new StreamResult(new File(path));

      transformer.transform(source, result);

    } catch (ParserConfigurationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (TransformerConfigurationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (TransformerException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }