in core/src/main/java/org/apache/james/mime4j/stream/RawFieldParser.java [256:291]
public void skipComment(final ByteSequence buf, final ParserCursor cursor) {
if (cursor.atEnd()) {
return;
}
int pos = cursor.getPos();
int indexFrom = cursor.getPos();
int indexTo = cursor.getUpperBound();
char current = (char) (buf.byteAt(pos) & 0xff);
if (current != '(') {
return;
}
pos++;
indexFrom++;
int level = 1;
boolean escaped = false;
for (int i = indexFrom; i < indexTo; i++, pos++) {
current = (char) (buf.byteAt(i) & 0xff);
if (escaped) {
escaped = false;
} else {
if (current == '\\') {
escaped = true;
} else if (current == '(') {
level++;
} else if (current == ')') {
level--;
}
}
if (level <= 0) {
pos++;
break;
}
}
cursor.updatePos(pos);
}