See attached test case
1. create a class with member field called "id" and some more member fields
2. serialize it to XML
3. deserialize from XML
all member fields will be null in deserialized instance
apparently what cause it, is com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter#doUnmarshal()
on line 143, after attribute named "id" was approved as transient member field, Reader is instructed to move out from current XML element, which causes all information in this element to be passed over.