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);
 }