Some abstract classes within java.* actually are types.
For example, AbstractButton is a type being between
JComponent and JButton, JMenuItem and JToggleButton.
The attached patch adds a parameter to the check that
allows one to specify the list of legal abstract
classes. It also fixes a couple of typos in the