// Quite a few variations...
if (LinkedHashMultiset.class.isAssignableFrom(raw)) {
return new LinkedHashMultisetDeserializer(type, elementTypeDeserializer, elementDeserializer);
}
if (HashMultiset.class.isAssignableFrom(raw)) {
return new HashMultisetDeserializer(type, elementTypeDeserializer, elementDeserializer);
}
if (EnumMultiset.class.isAssignableFrom(raw)) {
// !!! TODO
}
if (TreeMultiset.class.isAssignableFrom(raw)) {
return new TreeMultisetDeserializer(type, elementTypeDeserializer, elementDeserializer);
}
// TODO: make configurable (for now just default blindly)
return new HashMultisetDeserializer(type, elementTypeDeserializer, elementDeserializer);
}
return null;
}