I just wanted to point every Eclipse user's attention to Eclipse Bug #109084, because it can cause really nasty problems. We have been experiencing the problems of an inconsistent Java index from 3.1.0 to 3.1.2 and there seems to be no solution yet.
Basically what happens is that Eclipse "forgets" about some Java types all of a sudden, so that they do not show up in either the Open Type dialog nor in the hierarchy view. I believe it also affects refactorings that use the index for looking up the places to modify when you refactor something. For more details, have a look at the bug report.