1*795d594fSAndroid Build Coastguard WorkerThe documentation lists exceptional conditions and the exceptions that 2*795d594fSAndroid Build Coastguard Workershould be thrown, but doesn't say which exception previals when two or 3*795d594fSAndroid Build Coastguard Workermore exceptional conditions exist at the same time. For example, 4*795d594fSAndroid Build Coastguard Workerattempting to set a protected field from an unrelated class causes an 5*795d594fSAndroid Build Coastguard WorkerIllegalAccessException, while passing in a data type that doesn't match 6*795d594fSAndroid Build Coastguard Workerthe field causes an IllegalArgumentException. If code does both at the 7*795d594fSAndroid Build Coastguard Workersame time, we can only throw one or the other. 8*795d594fSAndroid Build Coastguard Worker 9*795d594fSAndroid Build Coastguard WorkerThis exercises the various failure modes to ensure that behavior is 10*795d594fSAndroid Build Coastguard Workerequivalent, and not merely spec-compliant. 11