Because we defined DSet as parameterized on <E extends DSet.Entry> it rewrites all generic references to E as DSet.Entry rather than Object which is what I was assuming. So when I write:
Because we defined DSet as parameterized on <E extends DSet.Entry> it rewrites
all generic references to E as DSet.Entry rather than Object which is what I
was assuming. So when I write:

(E[])new Object[...]

that gets rewritten to:

(Entry[])new Object[...]

which causes le freakout. We need to use Entry[] everywhere, which we happened
to be doing for everything except toArray().

I rewrote things to use E[] everywhere now that I know it will get rewritten to
Entry[]. I thought it was going to get rewritten to Object[] before so I didn't
genericize that stuff.


git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4059 542714f4-19e9-0310-aa3c-eee0fc999fb1

threerings/narya,threerings/narya,threerings/narya,threerings/narya,threerings/narya