public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
   WorkItemHandlerModelImpl wih = (WorkItemHandlerModelImpl) value;
   writer.addAttribute("type", wih.getType());
   /* TODO make qualifiers working properly before readd them to the xml
   QualifierModelImpl qualifier = (QualifierModelImpl)wih.getQualifierModel();
   if (qualifier != null) {
       if (qualifier.isSimple()) {
           writer.addAttribute("qualifier", qualifier.getType());
       } else {
           writeObject(writer, context, "qualifier", qualifier);
       }
   }
   */
 }
    public Object unmarshal(HierarchicalStreamReader reader, final UnmarshallingContext context) {
      final WorkItemHandlerModelImpl wih = new WorkItemHandlerModelImpl();
      wih.setType(reader.getAttribute("type"));
      /* TODO make qualifiers working properly before readd them to the xml
      String qualifierType = reader.getAttribute("qualifier");
      if (qualifierType != null) {
          wih.newQualifierModel(qualifierType);
      }

      readNodes( reader, new AbstractXStreamConverter.NodeReader() {
          public void onNode(HierarchicalStreamReader reader,
                             String name,
                             String value) {
              if ( "qualifier".equals( name ) ) {
                  QualifierModelImpl qualifier = readObject(reader, context, QualifierModelImpl.class);
                  wih.setQualifierModel(qualifier);
              }
          }
      } );
      */
      return wih;
    }