private static Object readInternal(byte type, ObjectInput in) throws IOException, ClassNotFoundException { switch (type) { case JAPANESE_DATE_TYPE: return JapaneseDate.readExternal(in); case JAPANESE_ERA_TYPE: return JapaneseEra.readExternal(in); case HIJRAH_DATE_TYPE: return HijrahDate.readExternal(in); case HIJRAH_ERA_TYPE: return HijrahEra.readExternal(in); case MINGUO_DATE_TYPE: return MinguoDate.readExternal(in); case MINGUO_ERA_TYPE: return MinguoEra.readExternal(in); case THAIBUDDHIST_DATE_TYPE: return ThaiBuddhistDate.readExternal(in); case THAIBUDDHIST_ERA_TYPE: return ThaiBuddhistEra.readExternal(in); case CHRONO_TYPE: return Chronology.readExternal(in); case CHRONO_LOCALDATETIME_TYPE: return ChronoLocalDateTimeImpl.readExternal(in); case CHRONO_ZONEDDATETIME_TYPE: return ChronoZonedDateTimeImpl.readExternal(in); default: throw new StreamCorruptedException("Unknown serialized type"); } }