protected Object _deserialize( String paramString, DeserializationContext paramDeserializationContext) throws IOException { switch (this._kind) { default: throw new IllegalArgumentException(); case 1: return new File(paramString); case 2: return new URL(paramString); case 3: return URI.create(paramString); case 4: try { paramString = paramDeserializationContext.findClass(paramString); return paramString; } catch (Exception paramString) { throw paramDeserializationContext.instantiationException( this._valueClass, ClassUtil.getRootCause(paramString)); } case 5: return paramDeserializationContext.getTypeFactory().constructFromCanonical(paramString); case 6: return Currency.getInstance(paramString); case 7: return Pattern.compile(paramString); case 8: i = paramString.indexOf('_'); if (i < 0) { return new Locale(paramString); } paramDeserializationContext = paramString.substring(0, i); paramString = paramString.substring(i + 1); i = paramString.indexOf('_'); if (i < 0) { return new Locale(paramDeserializationContext, paramString); } return new Locale( paramDeserializationContext, paramString.substring(0, i), paramString.substring(i + 1)); case 9: return Charset.forName(paramString); case 10: return TimeZone.getTimeZone(paramString); case 11: return InetAddress.getByName(paramString); } int j; if (paramString.startsWith("[")) { j = paramString.lastIndexOf(']'); if (j == -1) { throw new InvalidFormatException( "Bracketed IPv6 address must contain closing bracket", paramString, InetSocketAddress.class); } i = paramString.indexOf(':', j); if (i > -1) {} for (i = Integer.parseInt(paramString.substring(i + 1)); ; i = 0) { return new InetSocketAddress(paramString.substring(0, j + 1), i); } } int i = paramString.indexOf(':'); if ((i >= 0) && (paramString.indexOf(':', i + 1) < 0)) { j = Integer.parseInt(paramString.substring(i + 1)); return new InetSocketAddress(paramString.substring(0, i), j); } return new InetSocketAddress(paramString, 0); }