public final class org.apache.tomcat.util.buf.UriUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.tomcat.util.buf.UriUtil
  super_class: java.lang.Object
{
  private static final char[] HEX;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern PATTERN_EXCLAMATION_MARK;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern PATTERN_CARET;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern PATTERN_ASTERISK;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern PATTERN_CUSTOM;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String REPLACE_CUSTOM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String WAR_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=0
         0: .line 30
            bipush 16
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
         1: .line 29
            putstatic org.apache.tomcat.util.buf.UriUtil.HEX:[C
         2: .line 32
            ldc "!/"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_EXCLAMATION_MARK:Ljava/util/regex/Pattern;
         3: .line 33
            ldc "\\^/"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CARET:Ljava/util/regex/Pattern;
         4: .line 34
            ldc "\\*/"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_ASTERISK:Ljava/util/regex/Pattern;
         5: .line 41
            ldc "org.apache.tomcat.util.buf.UriUtil.WAR_SEPARATOR"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* custom */
        start local 0 // java.lang.String custom
         6: .line 42
            aload 0 /* custom */
            ifnonnull 11
         7: .line 43
            ldc "*/"
            putstatic org.apache.tomcat.util.buf.UriUtil.WAR_SEPARATOR:Ljava/lang/String;
         8: .line 44
            aconst_null
            putstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
         9: .line 45
            aconst_null
            putstatic org.apache.tomcat.util.buf.UriUtil.REPLACE_CUSTOM:Ljava/lang/String;
        10: .line 46
            goto 25
        11: .line 47
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* custom */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.apache.tomcat.util.buf.UriUtil.WAR_SEPARATOR:Ljava/lang/String;
        12: .line 48
            getstatic org.apache.tomcat.util.buf.UriUtil.WAR_SEPARATOR:Ljava/lang/String;
            invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
        13: .line 49
            new java.lang.StringBuilder
            dup
            aload 0 /* custom */
            invokevirtual java.lang.String.length:()I
            iconst_3
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
        14: .line 51
            aload 0 /* custom */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* ba */
        start local 2 // byte[] ba
        15: .line 52
            aload 2 /* ba */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 23
      StackMap locals: java.lang.String java.lang.StringBuilder byte[] top int int byte[]
      StackMap stack:
        16: aload 6
            iload 4
            baload
            istore 3 /* toEncode */
        start local 3 // byte toEncode
        17: .line 54
            aload 1 /* sb */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 55
            iload 3 /* toEncode */
            bipush 15
            iand
            istore 7 /* low */
        start local 7 // int low
        19: .line 56
            iload 3 /* toEncode */
            sipush 240
            iand
            iconst_4
            ishr
            istore 8 /* high */
        start local 8 // int high
        20: .line 57
            aload 1 /* sb */
            getstatic org.apache.tomcat.util.buf.UriUtil.HEX:[C
            iload 8 /* high */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 58
            aload 1 /* sb */
            getstatic org.apache.tomcat.util.buf.UriUtil.HEX:[C
            iload 7 /* low */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // int high
        end local 7 // int low
        end local 3 // byte toEncode
        22: .line 52
            iinc 4 1
      StackMap locals:
      StackMap stack:
        23: iload 4
            iload 5
            if_icmplt 16
        24: .line 60
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.apache.tomcat.util.buf.UriUtil.REPLACE_CUSTOM:Ljava/lang/String;
        end local 2 // byte[] ba
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.String custom
        25: .line 62
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            6   25     0    custom  Ljava/lang/String;
           14   25     1        sb  Ljava/lang/StringBuilder;
           15   25     2        ba  [B
           17   22     3  toEncode  B
           19   22     7       low  I
           20   22     8      high  I

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.buf.UriUtil this
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            return
        end local 0 // org.apache.tomcat.util.buf.UriUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/tomcat/util/buf/UriUtil;

  private static boolean isSchemeChar(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 80
            iload 0 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 1
            iload 0 /* c */
            bipush 43
            if_icmpeq 1
            iload 0 /* c */
            bipush 45
            if_icmpeq 1
            iload 0 /* c */
            bipush 46
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean hasScheme(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.CharSequence uri
         0: .line 92
            aload 0 /* uri */
            invokeinterface java.lang.CharSequence.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 93
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 10
         3: .line 94
      StackMap locals: int int
      StackMap stack:
            aload 0 /* uri */
            iload 2 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 95
            iload 3 /* c */
            bipush 58
            if_icmpne 7
         5: .line 96
            iload 2 /* i */
            ifle 6
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 97
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            invokestatic org.apache.tomcat.util.buf.UriUtil.isSchemeChar:(C)Z
            ifne 9
         8: .line 98
            iconst_0
            ireturn
        end local 3 // char c
         9: .line 93
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            iload 1 /* len */
            if_icmplt 3
        end local 2 // int i
        11: .line 101
            iconst_0
            ireturn
        end local 1 // int len
        end local 0 // java.lang.CharSequence uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0   uri  Ljava/lang/CharSequence;
            1   12     1   len  I
            2   11     2     i  I
            4    9     3     c  C
    MethodParameters:
      Name  Flags
      uri   

  public static java.net.URL buildJarUrl(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File jarFile
         0: .line 106
            aload 0 /* jarFile */
            aconst_null
            invokestatic org.apache.tomcat.util.buf.UriUtil.buildJarUrl:(Ljava/io/File;Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 0 // java.io.File jarFile
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  jarFile  Ljava/io/File;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
         Name  Flags
      jarFile  

  public static java.net.URL buildJarUrl(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File jarFile
        start local 1 // java.lang.String entryPath
         0: .line 111
            aload 0 /* jarFile */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            aload 1 /* entryPath */
            invokestatic org.apache.tomcat.util.buf.UriUtil.buildJarUrl:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 1 // java.lang.String entryPath
        end local 0 // java.io.File jarFile
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    jarFile  Ljava/io/File;
            0    1     1  entryPath  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
           Name  Flags
      jarFile    
      entryPath  

  public static java.net.URL buildJarUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String fileUrlString
         0: .line 116
            aload 0 /* fileUrlString */
            aconst_null
            invokestatic org.apache.tomcat.util.buf.UriUtil.buildJarUrl:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 0 // java.lang.String fileUrlString
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  fileUrlString  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
               Name  Flags
      fileUrlString  

  public static java.net.URL buildJarUrl(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.String fileUrlString
        start local 1 // java.lang.String entryPath
         0: .line 121
            aload 0 /* fileUrlString */
            invokestatic org.apache.tomcat.util.buf.UriUtil.makeSafeForJarUrl:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* safeString */
        start local 2 // java.lang.String safeString
         1: .line 122
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         2: .line 123
            aload 3 /* sb */
            aload 2 /* safeString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 124
            aload 3 /* sb */
            ldc "!/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 125
            aload 1 /* entryPath */
            ifnull 6
         5: .line 126
            aload 3 /* sb */
            aload 1 /* entryPath */
            invokestatic org.apache.tomcat.util.buf.UriUtil.makeSafeForJarUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 128
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            new java.net.URL
            dup
            ldc "jar"
            aconst_null
            iconst_m1
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.String safeString
        end local 1 // java.lang.String entryPath
        end local 0 // java.lang.String fileUrlString
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0  fileUrlString  Ljava/lang/String;
            0    7     1      entryPath  Ljava/lang/String;
            1    7     2     safeString  Ljava/lang/String;
            2    7     3             sb  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
               Name  Flags
      fileUrlString  
      entryPath      

  public static java.net.URL buildJarSafeUrl(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 133
            aload 0 /* file */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokestatic org.apache.tomcat.util.buf.UriUtil.makeSafeForJarUrl:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* safe */
        start local 1 // java.lang.String safe
         1: .line 134
            new java.net.URL
            dup
            aload 1 /* safe */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String safe
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
            1    2     1  safe  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      file  

  private static java.lang.String makeSafeForJarUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String input
         0: .line 157
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_EXCLAMATION_MARK:Ljava/util/regex/Pattern;
            aload 0 /* input */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            ldc "%21/"
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* tmp */
        start local 1 // java.lang.String tmp
         1: .line 159
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CARET:Ljava/util/regex/Pattern;
            aload 1 /* tmp */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            ldc "%5e/"
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* tmp */
         2: .line 160
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_ASTERISK:Ljava/util/regex/Pattern;
            aload 1 /* tmp */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            ldc "%2a/"
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* tmp */
         3: .line 161
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
            ifnull 5
         4: .line 162
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
            aload 1 /* tmp */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            getstatic org.apache.tomcat.util.buf.UriUtil.REPLACE_CUSTOM:Ljava/lang/String;
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* tmp */
         5: .line 164
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* tmp */
            areturn
        end local 1 // java.lang.String tmp
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  input  Ljava/lang/String;
            1    6     1    tmp  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      input  

  public static java.net.URL warToJar(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.net.URL warUrl
         0: .line 180
            aload 0 /* warUrl */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 1 /* file */
        start local 1 // java.lang.String file
         1: .line 181
            aload 1 /* file */
            ldc "*/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
         2: .line 182
            aload 1 /* file */
            ldc "\\*/"
            ldc "!/"
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* file */
         3: .line 183
            goto 9
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 1 /* file */
            ldc "^/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 7
         5: .line 184
            aload 1 /* file */
            ldc "\\^/"
            ldc "!/"
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* file */
         6: .line 185
            goto 9
      StackMap locals:
      StackMap stack:
         7: getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
            ifnull 9
         8: .line 186
            aload 1 /* file */
            getstatic org.apache.tomcat.util.buf.UriUtil.PATTERN_CUSTOM:Ljava/util/regex/Pattern;
            invokevirtual java.util.regex.Pattern.pattern:()Ljava/lang/String;
            ldc "!/"
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* file */
         9: .line 189
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            ldc "jar"
            aload 0 /* warUrl */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aload 0 /* warUrl */
            invokevirtual java.net.URL.getPort:()I
            aload 1 /* file */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 1 // java.lang.String file
        end local 0 // java.net.URL warUrl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  warUrl  Ljava/net/URL;
            1   10     1    file  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
        Name  Flags
      warUrl  

  public static java.lang.String getWarSeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 194
            getstatic org.apache.tomcat.util.buf.UriUtil.WAR_SEPARATOR:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "UriUtil.java"