in xstream-jmh/src/java/com/thoughtworks/xstream/benchmark/jmh/ConverterTypeBenchmark.java [181:218]
public Object unmarshal(final HierarchicalStreamReader reader, final UnmarshallingContext context) {
final Model type = new Model();
while (reader.hasMoreChildren()) {
reader.moveDown();
final String value = reader.getValue();
switch (reader.getNodeName()) {
case "ch":
if (value.length() != 1) {
throw new ConversionException("Not a single character");
}
type.setCh(value.charAt(0));
break;
case "i":
type.setI(Integer.parseInt(value));
break;
case "s":
type.setS(value);
break;
case "d":
type.setD(Double.parseDouble(value));
break;
case "f":
type.setF(Float.parseFloat(value));
break;
case "bi":
type.setBi(new BigInteger(value));
break;
case "uuid":
type.setUuid(UUID.fromString(value));
break;
default:
throw new ConversionException("Unkown element");
}
reader.moveUp();
}
return type;
}