protected final ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
            if (_classDescriptor == null) {
                return super.readClassDescriptor();
            } else if (_innerClassDescriptor) {
                int handle = readInt();
                ClassInfo classInfo = _value.classInfoForHandle(handle);
                ObjectStreamClass classDescriptor = null;
                if (classInfo != null) {
                    classDescriptor = classInfo.getClassDescriptor();
                }
                if (classDescriptor == null) {
                    throw new ConversionException("Unknown class handle " + handle);
                }
                return classDescriptor;
            } else {
                _innerClassDescriptor = true;
                return _classDescriptor;
            }
        }