/** @return */
  public String toXML() {
    OptetPlugin optetPluginJAXB = new OptetPlugin();

    for (Iterator iterator = categoriesList.iterator(); iterator.hasNext(); ) {
      Categories cates = (Categories) iterator.next();

      com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories categoriesJAXB =
          new com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories();
      categoriesJAXB.setName(cates.getName());
      System.out.println("JAXB " + cates.getName());

      Collection<Category> listcategory = cates.getCategories().values();
      for (Iterator iterator2 = listcategory.iterator(); iterator2.hasNext(); ) {
        Category cat = (Category) iterator2.next();

        com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories.Category catJAXB =
            new com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories.Category();
        catJAXB.setName(cat.getName());
        System.out.println("JAXB " + cat.getName());

        Collection<Evidence> listevidence = cat.getMetrics().values();
        for (Iterator iterator3 = listevidence.iterator(); iterator3.hasNext(); ) {
          Evidence evidence = (Evidence) iterator3.next();
          com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories.Category.Evidence
              evidenceJAXB =
                  new com.thalesgroup.optet.plugin.template.jaxb.OptetPlugin.Categories.Category
                      .Evidence();
          evidenceJAXB.setName(evidence.getSummary());
          System.out.println("JAXB " + evidence.getSummary());
          catJAXB.getEvidence().add(evidenceJAXB);
        }
        categoriesJAXB.getCategory().add(catJAXB);
      }
      optetPluginJAXB.getCategories().add(categoriesJAXB);
    }

    JAXBContext jaxbContext;
    StringWriter stringWriter = new StringWriter();
    try {
      jaxbContext = JAXBContext.newInstance(OptetPlugin.class);
      Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

      // output pretty printed
      jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

      jaxbMarshaller.marshal(optetPluginJAXB, stringWriter);

      System.out.println("res " + stringWriter);
    } catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    // TODO Auto-generated method stub
    return stringWriter.toString();
  }