diff -r b2f6b7e00c29 -r 5ba8217eb504 jdk/src/share/classes/javax/management/ImmutableDescriptor.java --- a/jdk/src/share/classes/javax/management/ImmutableDescriptor.java Thu Jul 31 14:20:11 2008 +0200 +++ b/jdk/src/share/classes/javax/management/ImmutableDescriptor.java Thu Jul 31 15:31:13 2008 +0200 @@ -128,13 +128,13 @@ * @throws InvalidObjectException if the read object has invalid fields. */ private Object readResolve() throws InvalidObjectException { - if (names.length == 0 && getClass() == ImmutableDescriptor.class) - return EMPTY_DESCRIPTOR; boolean bad = false; if (names == null || values == null || names.length != values.length) bad = true; if (!bad) { + if (names.length == 0 && getClass() == ImmutableDescriptor.class) + return EMPTY_DESCRIPTOR; final Comparator compare = String.CASE_INSENSITIVE_ORDER; String lastName = ""; // also catches illegal null name for (int i = 0; i < names.length; i++) {