Class loaders allow code to "redefine" a given class, e.g. it's possible to have multiple classes called "com.android.Blah" loaded simultaneously. The classes are distinct and must be treated as such. This test exercises some situations in which a VM that only checks the UTF-8 signatures could mix things up. This also tests a couple of situations in which an IllegalAccessException is expected.