in xstream/src/java/com/thoughtworks/xstream/io/xml/AbstractPullReader.java [179:214]
public String getValue() {
// we should collapse together any text which
// contains comments
// lets only use a string buffer when we get 2 strings
// to avoid copying strings
String last = null;
StringBuffer buffer = null;
mark();
Event event = readEvent();
while (true) {
if (event.type == TEXT) {
final String text = event.value;
if (text != null && text.length() > 0) {
if (last == null) {
last = text;
} else {
if (buffer == null) {
buffer = new StringBuffer(last);
}
buffer.append(text);
}
}
} else if (event.type != COMMENT) {
break;
}
event = readEvent();
}
reset();
if (buffer != null) {
return buffer.toString();
} else {
return last == null ? "" : last;
}
}