public class org.codehaus.plexus.classworlds.launcher.Launcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.classworlds.launcher.Launcher
  super_class: java.lang.Object
{
  protected static final java.lang.String CLASSWORLDS_CONF;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "classworlds.conf"

  protected static final java.lang.String UBERJAR_CONF_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "WORLDS-INF/conf/"

  protected java.lang.ClassLoader systemClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String mainClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String mainRealmName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected org.codehaus.plexus.classworlds.ClassWorld world;
    descriptor: Lorg/codehaus/plexus/classworlds/ClassWorld;
    flags: (0x0004) ACC_PROTECTED

  private int exitCode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            iconst_0
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.exitCode:I
         2: .line 64
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.systemClassLoader:Ljava/lang/ClassLoader;
         3: .line 65
            return
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public void setSystemClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.lang.ClassLoader loader
         0: .line 69
            aload 0 /* this */
            aload 1 /* loader */
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.systemClassLoader:Ljava/lang/ClassLoader;
         1: .line 70
            return
        end local 1 // java.lang.ClassLoader loader
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    2     1  loader  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      loader  

  public java.lang.ClassLoader getSystemClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 74
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.systemClassLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public int getExitCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 79
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.exitCode:I
            ireturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public void setAppMain(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.lang.String mainClassName
        start local 2 // java.lang.String mainRealmName
         0: .line 85
            aload 0 /* this */
            aload 1 /* mainClassName */
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.mainClassName:Ljava/lang/String;
         1: .line 87
            aload 0 /* this */
            aload 2 /* mainRealmName */
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.mainRealmName:Ljava/lang/String;
         2: .line 88
            return
        end local 2 // java.lang.String mainRealmName
        end local 1 // java.lang.String mainClassName
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    3     1  mainClassName  Ljava/lang/String;
            0    3     2  mainRealmName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      mainClassName  
      mainRealmName  

  public java.lang.String getMainRealmName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 92
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.mainRealmName:Ljava/lang/String;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public java.lang.String getMainClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 97
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.mainClassName:Ljava/lang/String;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public void setWorld(org.codehaus.plexus.classworlds.ClassWorld);
    descriptor: (Lorg/codehaus/plexus/classworlds/ClassWorld;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // org.codehaus.plexus.classworlds.ClassWorld world
         0: .line 102
            aload 0 /* this */
            aload 1 /* world */
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.world:Lorg/codehaus/plexus/classworlds/ClassWorld;
         1: .line 103
            return
        end local 1 // org.codehaus.plexus.classworlds.ClassWorld world
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    2     1  world  Lorg/codehaus/plexus/classworlds/ClassWorld;
    MethodParameters:
       Name  Flags
      world  

  public org.codehaus.plexus.classworlds.ClassWorld getWorld();
    descriptor: ()Lorg/codehaus/plexus/classworlds/ClassWorld;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 107
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.world:Lorg/codehaus/plexus/classworlds/ClassWorld;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;

  public void configure(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.io.InputStream is
         0: .line 125
            new org.codehaus.plexus.classworlds.launcher.Configurator
            dup
            aload 0 /* this */
            invokespecial org.codehaus.plexus.classworlds.launcher.Configurator.<init>:(Lorg/codehaus/plexus/classworlds/launcher/Launcher;)V
            astore 2 /* configurator */
        start local 2 // org.codehaus.plexus.classworlds.launcher.Configurator configurator
         1: .line 127
            aload 2 /* configurator */
            aload 1 /* is */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Configurator.configure:(Ljava/io/InputStream;)V
         2: .line 128
            return
        end local 2 // org.codehaus.plexus.classworlds.launcher.Configurator configurator
        end local 1 // java.io.InputStream is
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    3     1            is  Ljava/io/InputStream;
            1    3     2  configurator  Lorg/codehaus/plexus/classworlds/launcher/Configurator;
    Exceptions:
      throws java.io.IOException, org.codehaus.plexus.classworlds.launcher.ConfigurationException, org.codehaus.plexus.classworlds.realm.DuplicateRealmException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    MethodParameters:
      Name  Flags
      is    

  public java.lang.Class<?> getMainClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 140
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealm:()Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClassName:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
    Exceptions:
      throws java.lang.ClassNotFoundException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    Signature: ()Ljava/lang/Class<*>;

  public org.codehaus.plexus.classworlds.realm.ClassRealm getMainRealm();
    descriptor: ()Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 152
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getWorld:()Lorg/codehaus/plexus/classworlds/ClassWorld;
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealmName:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.ClassWorld.getRealm:(Ljava/lang/String;)Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            areturn
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
    Exceptions:
      throws org.codehaus.plexus.classworlds.realm.NoSuchRealmException

  protected java.lang.reflect.Method getEnhancedMainMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 166
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealm:()Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            ldc Lorg/codehaus/plexus/classworlds/ClassWorld;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* cwClass */
        start local 1 // java.lang.Class cwClass
         1: .line 168
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass:()Ljava/lang/Class;
            ldc "main"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* cwClass */
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* m */
        start local 2 // java.lang.reflect.Method m
         2: .line 170
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 3 /* modifiers */
        start local 3 // int modifiers
         3: .line 172
            iload 3 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 6
            iload 3 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         4: .line 174
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpeq 5
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 176
      StackMap locals: java.lang.Class java.lang.reflect.Method int
      StackMap stack:
            aload 2 /* m */
            areturn
         6: .line 180
      StackMap locals:
      StackMap stack:
            new java.lang.NoSuchMethodException
            dup
            ldc "public static void main(String[] args, ClassWorld world)"
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int modifiers
        end local 2 // java.lang.reflect.Method m
        end local 1 // java.lang.Class cwClass
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            1    7     1    cwClass  Ljava/lang/Class<*>;
            2    7     2          m  Ljava/lang/reflect/Method;
            3    7     3  modifiers  I
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException

  protected java.lang.reflect.Method getMainMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
         0: .line 194
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass:()Ljava/lang/Class;
            ldc "main"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 1 /* m */
        start local 1 // java.lang.reflect.Method m
         1: .line 196
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 2 /* modifiers */
        start local 2 // int modifiers
         2: .line 198
            iload 2 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 5
            iload 2 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 5
         3: .line 200
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpeq 4
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 5
         4: .line 202
      StackMap locals: java.lang.reflect.Method int
      StackMap stack:
            aload 1 /* m */
            areturn
         5: .line 206
      StackMap locals:
      StackMap stack:
            new java.lang.NoSuchMethodException
            dup
            new java.lang.StringBuilder
            dup
            ldc "public static void main(String[] args) in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int modifiers
        end local 1 // java.lang.reflect.Method m
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            1    6     1          m  Ljava/lang/reflect/Method;
            2    6     2  modifiers  I
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException

  public void launch(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.lang.String[] args
         0: .line 225
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced:([Ljava/lang/String;)V
         1: .line 227
            return
         2: .line 229
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         3: .line 234
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard:([Ljava/lang/String;)V
         4: .line 235
            return
        end local 1 // java.lang.String[] args
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    5     1  args  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    MethodParameters:
      Name  Flags
      args  

  protected void launchEnhanced(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.lang.String[] args
         0: .line 257
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealm:()Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            astore 2 /* mainRealm */
        start local 2 // org.codehaus.plexus.classworlds.realm.ClassRealm mainRealm
         1: .line 259
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass:()Ljava/lang/Class;
            astore 3 /* mainClass */
        start local 3 // java.lang.Class mainClass
         2: .line 261
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getEnhancedMainMethod:()Ljava/lang/reflect/Method;
            astore 4 /* mainMethod */
        start local 4 // java.lang.reflect.Method mainMethod
         3: .line 263
            aload 2 /* mainRealm */
            astore 5 /* cl */
        start local 5 // java.lang.ClassLoader cl
         4: .line 280
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 5 /* cl */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         5: .line 282
            aload 4 /* mainMethod */
            aload 3 /* mainClass */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* args */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getWorld:()Lorg/codehaus/plexus/classworlds/ClassWorld;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* ret */
        start local 6 // java.lang.Object ret
         6: .line 284
            aload 6 /* ret */
            instanceof java.lang.Integer
            ifeq 8
         7: .line 286
            aload 0 /* this */
            aload 6 /* ret */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.exitCode:I
         8: .line 289
      StackMap locals: org.codehaus.plexus.classworlds.launcher.Launcher java.lang.String[] org.codehaus.plexus.classworlds.realm.ClassRealm java.lang.Class java.lang.reflect.Method java.lang.ClassLoader java.lang.Object
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.systemClassLoader:Ljava/lang/ClassLoader;
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         9: .line 290
            return
        end local 6 // java.lang.Object ret
        end local 5 // java.lang.ClassLoader cl
        end local 4 // java.lang.reflect.Method mainMethod
        end local 3 // java.lang.Class mainClass
        end local 2 // org.codehaus.plexus.classworlds.realm.ClassRealm mainRealm
        end local 1 // java.lang.String[] args
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0   10     1        args  [Ljava/lang/String;
            1   10     2   mainRealm  Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            2   10     3   mainClass  Ljava/lang/Class<*>;
            3   10     4  mainMethod  Ljava/lang/reflect/Method;
            4   10     5          cl  Ljava/lang/ClassLoader;
            6   10     6         ret  Ljava/lang/Object;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    MethodParameters:
      Name  Flags
      args  

  protected void launchStandard(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
        start local 1 // java.lang.String[] args
         0: .line 313
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealm:()Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            astore 2 /* mainRealm */
        start local 2 // org.codehaus.plexus.classworlds.realm.ClassRealm mainRealm
         1: .line 315
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass:()Ljava/lang/Class;
            astore 3 /* mainClass */
        start local 3 // java.lang.Class mainClass
         2: .line 317
            aload 0 /* this */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainMethod:()Ljava/lang/reflect/Method;
            astore 4 /* mainMethod */
        start local 4 // java.lang.reflect.Method mainMethod
         3: .line 319
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* mainRealm */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         4: .line 321
            aload 4 /* mainMethod */
            aload 3 /* mainClass */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* args */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* ret */
        start local 5 // java.lang.Object ret
         5: .line 323
            aload 5 /* ret */
            instanceof java.lang.Integer
            ifeq 7
         6: .line 325
            aload 0 /* this */
            aload 5 /* ret */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.codehaus.plexus.classworlds.launcher.Launcher.exitCode:I
         7: .line 328
      StackMap locals: org.codehaus.plexus.classworlds.launcher.Launcher java.lang.String[] org.codehaus.plexus.classworlds.realm.ClassRealm java.lang.Class java.lang.reflect.Method java.lang.Object
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.Launcher.systemClassLoader:Ljava/lang/ClassLoader;
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         8: .line 330
            return
        end local 5 // java.lang.Object ret
        end local 4 // java.lang.reflect.Method mainMethod
        end local 3 // java.lang.Class mainClass
        end local 2 // org.codehaus.plexus.classworlds.realm.ClassRealm mainRealm
        end local 1 // java.lang.String[] args
        end local 0 // org.codehaus.plexus.classworlds.launcher.Launcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            0    9     1        args  [Ljava/lang/String;
            1    9     2   mainRealm  Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            2    9     3   mainClass  Ljava/lang/Class<*>;
            3    9     4  mainMethod  Ljava/lang/reflect/Method;
            5    9     5         ret  Ljava/lang/Object;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    MethodParameters:
      Name  Flags
      args  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 347
            aload 0 /* args */
            invokestatic org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode:([Ljava/lang/String;)I
            istore 1 /* exitCode */
        start local 1 // int exitCode
         1: .line 349
            iload 1 /* exitCode */
            invokestatic java.lang.System.exit:(I)V
        end local 1 // int exitCode
         2: .line 350
            goto 6
         3: .line 351
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         4: .line 353
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         5: .line 355
            bipush 100
            invokestatic java.lang.System.exit:(I)V
        end local 1 // java.lang.Exception e
         6: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      args  [Ljava/lang/String;
            1    2     1  exitCode  I
            4    6     1         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  public static int mainWithExitCode(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 369
            ldc "classworlds.conf"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* classworldsConf */
        start local 1 // java.lang.String classworldsConf
         1: .line 373
            new org.codehaus.plexus.classworlds.launcher.Launcher
            dup
            invokespecial org.codehaus.plexus.classworlds.launcher.Launcher.<init>:()V
            astore 3 /* launcher */
        start local 3 // org.codehaus.plexus.classworlds.launcher.Launcher launcher
         2: .line 375
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         3: .line 377
            aload 3 /* launcher */
            aload 4 /* cl */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.setSystemClassLoader:(Ljava/lang/ClassLoader;)V
         4: .line 379
            aload 1 /* classworldsConf */
            ifnull 7
         5: .line 381
            new java.io.FileInputStream
            dup
            aload 1 /* classworldsConf */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         6: .line 382
            goto 11
        end local 2 // java.io.InputStream is
         7: .line 385
      StackMap locals: java.lang.String[] java.lang.String top org.codehaus.plexus.classworlds.launcher.Launcher java.lang.ClassLoader
      StackMap stack:
            ldc "true"
            ldc "classworlds.bootstrapped"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 387
            aload 4 /* cl */
            ldc "WORLDS-INF/conf/classworlds.conf"
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         9: .line 388
            goto 11
        end local 2 // java.io.InputStream is
        10: .line 391
      StackMap locals:
      StackMap stack:
            aload 4 /* cl */
            ldc "classworlds.conf"
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
        11: .line 395
      StackMap locals: java.lang.String[] java.lang.String java.io.InputStream org.codehaus.plexus.classworlds.launcher.Launcher java.lang.ClassLoader
      StackMap stack:
            aload 2 /* is */
            ifnonnull 13
        12: .line 397
            new java.lang.Exception
            dup
            ldc "classworlds configuration not specified nor found in the classpath"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 400
      StackMap locals:
      StackMap stack:
            aload 3 /* launcher */
            aload 2 /* is */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.configure:(Ljava/io/InputStream;)V
        14: .line 402
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        15: .line 406
            aload 3 /* launcher */
            aload 0 /* args */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.launch:([Ljava/lang/String;)V
        16: .line 407
            goto 33
        17: .line 408
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
        18: .line 410
            aload 3 /* launcher */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getWorld:()Lorg/codehaus/plexus/classworlds/ClassWorld;
            aload 3 /* launcher */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getMainRealmName:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.ClassWorld.getRealm:(Ljava/lang/String;)Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
            astore 6 /* realm */
        start local 6 // org.codehaus.plexus.classworlds.realm.ClassRealm realm
        19: .line 412
            aload 6 /* realm */
            invokevirtual org.codehaus.plexus.classworlds.realm.ClassRealm.getURLs:()[Ljava/net/URL;
            astore 7 /* constituents */
        start local 7 // java.net.URL[] constituents
        20: .line 414
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "---------------------------------------------------"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 416
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        22: goto 25
        23: .line 418
      StackMap locals: java.lang.String[] java.lang.String java.io.InputStream org.codehaus.plexus.classworlds.launcher.Launcher java.lang.ClassLoader java.lang.reflect.InvocationTargetException org.codehaus.plexus.classworlds.realm.ClassRealm java.net.URL[] int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "constituent["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* constituents */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 416
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            aload 7 /* constituents */
            arraylength
            if_icmplt 23
        end local 8 // int i
        26: .line 421
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "---------------------------------------------------"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        27: .line 424
            aload 5 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        28: .line 426
            aload 8 /* t */
            instanceof java.lang.Exception
            ifeq 30
        29: .line 428
            aload 8 /* t */
            checkcast java.lang.Exception
            athrow
        30: .line 430
      StackMap locals: java.lang.String[] java.lang.String java.io.InputStream org.codehaus.plexus.classworlds.launcher.Launcher java.lang.ClassLoader java.lang.reflect.InvocationTargetException org.codehaus.plexus.classworlds.realm.ClassRealm java.net.URL[] java.lang.Throwable
      StackMap stack:
            aload 8 /* t */
            instanceof java.lang.Error
            ifeq 32
        31: .line 432
            aload 8 /* t */
            checkcast java.lang.Error
            athrow
        32: .line 436
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 8 // java.lang.Throwable t
        end local 7 // java.net.URL[] constituents
        end local 6 // org.codehaus.plexus.classworlds.realm.ClassRealm realm
        end local 5 // java.lang.reflect.InvocationTargetException e
        33: .line 439
      StackMap locals: java.lang.String[] java.lang.String java.io.InputStream org.codehaus.plexus.classworlds.launcher.Launcher java.lang.ClassLoader
      StackMap stack:
            aload 3 /* launcher */
            invokevirtual org.codehaus.plexus.classworlds.launcher.Launcher.getExitCode:()I
            ireturn
        end local 4 // java.lang.ClassLoader cl
        end local 3 // org.codehaus.plexus.classworlds.launcher.Launcher launcher
        end local 2 // java.io.InputStream is
        end local 1 // java.lang.String classworldsConf
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             args  [Ljava/lang/String;
            1   34     1  classworldsConf  Ljava/lang/String;
            6    7     2               is  Ljava/io/InputStream;
            9   10     2               is  Ljava/io/InputStream;
           11   34     2               is  Ljava/io/InputStream;
            2   34     3         launcher  Lorg/codehaus/plexus/classworlds/launcher/Launcher;
            3   34     4               cl  Ljava/lang/ClassLoader;
           18   33     5                e  Ljava/lang/reflect/InvocationTargetException;
           19   33     6            realm  Lorg/codehaus/plexus/classworlds/realm/ClassRealm;
           20   33     7     constituents  [Ljava/net/URL;
           22   26     8                i  I
           28   33     8                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "Launcher.java"