I've checked in a fairly simple implementation of thumb nails for the core API and Viewer reference implementation.
The Page class no has a getThumbnail() method that will return a new PDF object Thumbnail. The new Thumbnail class allows the end developer to get at the thumbnail dimension as well as the actual image. If getThumbnail() returns null the document doesn't have a thumbnail associated with it.
The viewer RI has been updated, with a new "thumbnail" tab being added to the utility pane. the new Thumbnail tab contains a panel in which page thumbnails are drawn. If a document has encoded thumbnails then the thumbnail view is populated quite quickly. Otherwise each page needs to be parsed and painted to generate the thumbnail. This happens on the fly on a separate worker thread.
Each thumbNail in the thumbnail view is represented by a fairly smart component that stores the thumbnail or painted page in a buffer that is stored in a WeakList. The overall memory usage is actually quite small for this enhancement. .
Try and fit this into the next release. It's a bit of work but not terribly complex.