((Collection)value).add(item);
} else if (value instanceof Appendable) {
try {
((Appendable)value).append(new String(buffer, offset, length));
} catch (IOException e) {
throw new JAXBException(e);
}
} else if (Writer.class.isAssignableFrom(member.getBaseType())) {
try {
((Writer)value).write(buffer, offset, length);
} catch (IOException e) {
throw new JAXBException(e);
}
} else {
String str = new String(buffer, offset, length);
if (cumulative && value != null) {