バグなのかな?

Unmarshalで読み込まれるノードがダブっちゃう件ですが、ちょっと調べた結果、わかりました。JAX-B Compilationで生成されるファイルたちのうち、問題となるのは、BookDataTypeImpl.java でした。
このファイルは、book.xsd の bookData ノードに対応して生成される、実質のデータ・バインド実装コードを含むソース・ファイルです。
このソースの populateNodeArray メソッド内を見ると、

    :
 if (name.equals("book") && namespace.equals("http://jkidd.com/book"))
 {
   super.setNodeVectorValue(0, n);
 }
 if (name.equals("book") && namespace.equals("http://jkidd.com/book"))
 {
   super.setNodeVectorValue(0, n);
 }
    :

と、同じコードがダブって生成されていました。これをひとつだけにすると、問題が解決しました。うーん、book.xsd 内の book 要素に対する属性の数だけ、コードがダブって生成されてしまったのだろうか? きっとバグでしょうね。
こういうのってどうにかしてフィードバックするのが良いのでしょうけど...