} else {
// Use jchardet which tries a variety of heuristics to choose an encoding.
nsDetector det = new nsDetector(nsPSMDetector.ALL);
// The below is adapted from the main method in HtmlCharsetDetector.
Observer observer = new Observer();
det.Init(observer);
do {
buffered.write(buf, 0, len);
if (isAscii) { isAscii = det.isAscii(buf, len); }
if (!isAscii) {
if (det.DoIt(buf, len, false)) { break; }