in xstream/src/java/com/thoughtworks/xstream/converters/collections/TreeSetConverter.java [101:142]
private Object readResolve() {
treeMapConverter = new TreeMapConverter(mapper()) {
@Override
protected void populateMap(final HierarchicalStreamReader reader, final UnmarshallingContext context,
final Map<?, ?> map, final Map<?, ?> target) {
populateCollection(reader, context, new AbstractList<Object>() {
@Override
public boolean add(final Object object) {
@SuppressWarnings("unchecked")
final Map<Object, Object> collectionTarget = (Map<Object, Object>)target;
return collectionTarget
.put(object, Reflections.constantValue != null
? Reflections.constantValue
: object) != null;
}
@Override
public Object get(final int location) {
return null;
}
@Override
public int size() {
return target.size();
}
});
}
@Override
protected void putCurrentEntryIntoMap(final HierarchicalStreamReader reader,
final UnmarshallingContext context, final Map<?, ?> map, final Map<?, ?> target) {
// call readBareItem when deprecated method is removed
@SuppressWarnings("deprecation")
final Object key = readItem(reader, context, map);
@SuppressWarnings("unchecked")
final Map<Object, Object> checkedTarget = (Map<Object, Object>)target;
checkedTarget.put(key, key);
}
};
return this;
}