Xercesを使用したSAXParserで"]"の解析の仕方が違う;

とあるXMLをSAXParserを使用して解析していたところ、J2SE1.4系では上手く言っているのに、xercesを使用したら"]"から先がどうも取得できない現象に陥ってしまった。同じロジックで動作が違うというのは辛い・・・。
Xercesを見ているとorg.apache.xerces.impl.XMLEntityScanner#scanContentから呼び出されるorg.apache.xerces.util.XMLChar#isContentで文字チェックをしている。ところが、"]"を渡すとfalseが返却され、正しくXMLが解析されていない!?(-"-;)
さらに、org.apache.xerces.impl.XMLDocumentFragmentScannerImpl#scanContentに怪しげなコメントが!


903行目
// remember where we are in case we get an endEntity before we
// could flush the buffer out - this happens when we're parsing an
// entity which ends with a ]
908行目
// We work on a single character basis to handle cases such as:
// ']]]>' which we might otherwise miss.
一度では、コンテントを取得できず、"]"のみを一度org.xml.sax.helpers.DefaultHandler#charactersに返している模様。なるほど。実装の違いによって使い方が違うのはちょっとねぇ・・・。インタフェースだけあってればいいというのでしょうか?
結論から言えば、DefaultHandlerの拡張実装した人(今回の調査を発生させた人)のバグで、初歩的なミスっぽですわ;