code: @SuppressWarnings("unchecked")
  	public Object unmarshal(HierarchicalStreamReader reader,
  			UnmarshallingContext context) {
  		XFactory factory = XFactoryRegistry.instance().currentDefault();
  		XLog log = factory.createLog();
  
  		reader.moveDown();
  		Set<XExtension> extensions = (Set<XExtension>) context.convertAnother(
  				log, Set.class);
  		log.getExtensions().addAll(extensions);
  		reader.moveUp();
  
  		reader.moveDown();
  		XAttributeMap attributes = (XAttributeMap) context.convertAnother(log,
  				XAttributeMap.class,  XesXStreamPersistency.attributeMapConverter);
  		log.setAttributes(attributes);
  		reader.moveUp();
  
  		reader.moveDown();
  		List<XAttribute> traceGlobals = (List<XAttribute>) context
  				.convertAnother(log, List.class);
  		log.getGlobalTraceAttributes().addAll(traceGlobals);
  		reader.moveUp();
  
  		reader.moveDown();
  		List<XAttribute> eventGlobals = (List<XAttribute>) context
  				.convertAnother(log, List.class);
  		log.getGlobalEventAttributes().addAll(eventGlobals);
  		reader.moveUp();
  
  		reader.moveDown();
  		List<XEventClassifier> eventClassifiers = (List<XEventClassifier>) context
  				.convertAnother(log, List.class);
  		log.getClassifiers().addAll(eventClassifiers);
  		reader.moveUp();
  
  		while (reader.hasMoreChildren()) {
  			reader.moveDown();
  			XTrace trace = (XTrace) context.convertAnother(log, XTrace.class,  XesXStreamPersistency.traceConverter);
  			log.add(trace);
  			reader.moveUp();
  		}
  		return log;
  	}
docs: /*
  (non-Javadoc)
  
  @see
  com.thoughtworks.xstream.converters.Converter#unmarshal(com.thoughtworks
  .xstream.io.HierarchicalStreamReader,
  com.thoughtworks.xstream.converters.UnmarshallingContext)