I agree with the comments that if ( bar instanceof Foo ) { ... } with bar treated as a Foo inside the braces would be very useful, eg equals methods. Similarly if ( bar.getClass() == Foo ) { ... }. -- Howard.