public class edu.umd.cs.findbugs.FindBugs2 implements edu.umd.cs.findbugs.IFindBugsEngine
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: edu.umd.cs.findbugs.FindBugs2
  super_class: java.lang.Object
{
  private static final boolean LIST_ORDER;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean VERBOSE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final boolean DEBUG;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean PROGRESS;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final boolean SCREEN_FIRST_PASS_CLASSES;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String PROP_FINDBUGS_HOST_APP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "findbugs.hostApp"

  public static final java.lang.String PROP_FINDBUGS_HOST_APP_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "findbugs.hostAppVersion"

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

  private java.util.List<edu.umd.cs.findbugs.classfile.IClassObserver> classObserverList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ledu/umd/cs/findbugs/classfile/IClassObserver;>;

  private edu.umd.cs.findbugs.BugReporter bugReporter;
    descriptor: Ledu/umd/cs/findbugs/BugReporter;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.ErrorCountingBugReporter errorCountingBugReporter;
    descriptor: Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.Project project;
    descriptor: Ledu/umd/cs/findbugs/Project;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.classfile.IClassFactory classFactory;
    descriptor: Ledu/umd/cs/findbugs/classfile/IClassFactory;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.classfile.IClassPath classPath;
    descriptor: Ledu/umd/cs/findbugs/classfile/IClassPath;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor> appClassList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;

  private java.util.Collection<edu.umd.cs.findbugs.classfile.ClassDescriptor> referencedClassSet;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;

  private edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection;
    descriptor: Ledu/umd/cs/findbugs/DetectorFactoryCollection;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.plan.ExecutionPlan executionPlan;
    descriptor: Ledu/umd/cs/findbugs/plan/ExecutionPlan;
    flags: (0x0002) ACC_PRIVATE

  private final edu.umd.cs.findbugs.log.YourKitController yourkitController;
    descriptor: Ledu/umd/cs/findbugs/log/YourKitController;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String currentClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.FindBugsProgress progress;
    descriptor: Ledu/umd/cs/findbugs/FindBugsProgress;
    flags: (0x0002) ACC_PRIVATE

  private edu.umd.cs.findbugs.IClassScreener classScreener;
    descriptor: Ledu/umd/cs/findbugs/IClassScreener;
    flags: (0x0002) ACC_PRIVATE

  private final edu.umd.cs.findbugs.AnalysisOptions analysisOptions;
    descriptor: Ledu/umd/cs/findbugs/AnalysisOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  java.util.Set<java.lang.String> explicitlyEnabledBugReporterDecorators;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()

  java.util.Set<java.lang.String> explicitlyDisabledBugReporterDecorators;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            ldc "findbugs.listOrder"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            putstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
         1: .line 88
            ldc "findbugs.verbose"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            putstatic edu.umd.cs.findbugs.FindBugs2.VERBOSE:Z
         2: .line 90
            getstatic edu.umd.cs.findbugs.FindBugs2.VERBOSE:Z
            ifne 3
            ldc "findbugs.debug"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: putstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
         5: .line 92
            getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
            ifne 6
            ldc "findbugs.progress"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: putstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
         8: .line 94
            ldc "findbugs.screenFirstPass"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            putstatic edu.umd.cs.findbugs.FindBugs2.SCREEN_FIRST_PASS_CLASSES:Z
         9: .line 97
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 134
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 121
            aload 0 /* this */
            new edu.umd.cs.findbugs.log.YourKitController
            dup
            invokespecial edu.umd.cs.findbugs.log.YourKitController.<init>:()V
            putfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
         2: .line 129
            aload 0 /* this */
            new edu.umd.cs.findbugs.AnalysisOptions
            dup
            iconst_1
            invokespecial edu.umd.cs.findbugs.AnalysisOptions.<init>:(Z)V
            putfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
         3: .line 1233
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
         4: .line 1236
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
         5: .line 135
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
         6: .line 136
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getstatic edu.umd.cs.findbugs.FindBugs.DEFAULT_EFFORT:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
            putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
         7: .line 137
            aload 0 /* this */
            new edu.umd.cs.findbugs.NoOpFindBugsProgress
            dup
            invokespecial edu.umd.cs.findbugs.NoOpFindBugsProgress.<init>:()V
            putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
         8: .line 140
            aload 0 /* this */
            new edu.umd.cs.findbugs.FindBugs2$1
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.FindBugs2$1.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
            putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
         9: .line 152
            ldc "findbugs.hostApp"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* hostApp */
        start local 1 // java.lang.String hostApp
        10: .line 153
            aconst_null
            astore 2 /* hostAppVersion */
        start local 2 // java.lang.String hostAppVersion
        11: .line 154
            aload 1 /* hostApp */
            ifnull 12
            aload 1 /* hostApp */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifgt 14
        12: .line 155
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.lang.String java.lang.String
      StackMap stack:
            ldc "FindBugs TextUI"
            astore 1 /* hostApp */
        13: .line 156
            ldc "findbugs.hostAppVersion"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* hostAppVersion */
        14: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* hostAppVersion */
            ifnonnull 16
        15: .line 159
            ldc ""
            astore 2 /* hostAppVersion */
        16: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* hostApp */
            aload 2 /* hostAppVersion */
            invokestatic edu.umd.cs.findbugs.Version.registerApplication:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 164
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iconst_0
            putfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
        18: .line 167
            aload 0 /* this */
            bipush 20
            putfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
        19: .line 168
            return
        end local 2 // java.lang.String hostAppVersion
        end local 1 // java.lang.String hostApp
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Ledu/umd/cs/findbugs/FindBugs2;
           10   20     1         hostApp  Ljava/lang/String;
           11   20     2  hostAppVersion  Ljava/lang/String;

  public void setDetectorFactoryCollection(edu.umd.cs.findbugs.DetectorFactoryCollection);
    descriptor: (Ledu/umd/cs/findbugs/DetectorFactoryCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection
         0: .line 179
            aload 0 /* this */
            aload 1 /* detectorFactoryCollection */
            putfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
         1: .line 180
            return
        end local 1 // edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  detectorFactoryCollection  Ledu/umd/cs/findbugs/DetectorFactoryCollection;
    MethodParameters:
                           Name  Flags
      detectorFactoryCollection  

  public void execute();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 193
            invokestatic edu.umd.cs.findbugs.FindBugs.isNoAnalysis:()Z
            ifeq 2
         1: .line 194
            new java.lang.UnsupportedOperationException
            dup
            ldc "This FindBugs invocation was started without analysis capabilities"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
            invokevirtual edu.umd.cs.findbugs.ProjectStats.getProfiler:()Ledu/umd/cs/findbugs/log/Profiler;
            astore 1 /* profiler */
        start local 1 // edu.umd.cs.findbugs.log.Profiler profiler
         3: .line 202
            aload 0 /* this */
            invokestatic edu.umd.cs.findbugs.classfile.impl.ClassFactory.instance:()Ledu/umd/cs/findbugs/classfile/IClassFactory;
            putfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
         4: .line 205
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.createClassPath:()V
         5: .line 207
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getFileCount:()I
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getNumAuxClasspathEntries:()I
            iadd
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.reportNumberOfArchives:(I)V
         6: .line 208
            aload 1 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
         7: .line 211
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.createAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            pop
         8: .line 214
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.sourceInfoFileName:Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.FindBugs2.createAnalysisContext:(Ledu/umd/cs/findbugs/Project;Ljava/util/List;Ljava/lang/String;)V
         9: .line 218
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.buildClassPath:()V
        10: .line 222
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet:()V
        11: .line 225
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.FindBugs2.setAppClassList:(Ljava/util/List;)V
        12: .line 228
            aload 0 /* this */
            invokestatic edu.umd.cs.findbugs.FindBugs.configureBugCollection:(Ledu/umd/cs/findbugs/IFindBugsEngine;)V
        13: .line 231
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.relaxedReportingMode:Z
            invokestatic edu.umd.cs.findbugs.FindBugsAnalysisFeatures.setRelaxedMode:(Z)V
        14: .line 232
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.abridgedMessages:Z
            invokestatic edu.umd.cs.findbugs.FindBugsDisplayFeatures.setAbridgedMessages:(Z)V
        15: .line 235
            aload 0 /* this */
            invokestatic edu.umd.cs.findbugs.FindBugs.configureTrainingDatabases:(Ledu/umd/cs/findbugs/IFindBugsEngine;)V
        16: .line 238
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.configureAnalysisFeatures:()V
        17: .line 241
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.createExecutionPlan:()V
        18: .line 243
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.plugins:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 26
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler top java.util.Iterator
      StackMap stack:
        19: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.Plugin
            astore 2 /* p */
        start local 2 // edu.umd.cs.findbugs.Plugin p
        20: .line 245
            aload 2 /* p */
            ldc Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;
            invokevirtual edu.umd.cs.findbugs.Plugin.getComponentPlugins:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator top java.util.Iterator
      StackMap stack:
        21: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.ComponentPlugin
            astore 4 /* brp */
        start local 4 // edu.umd.cs.findbugs.ComponentPlugin brp
        22: .line 246
            aload 4 /* brp */
            invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isEnabledByDefault:()Z
            ifeq 23
            aload 4 /* brp */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
            invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isNamed:(Ljava/util/Set;)Z
            ifeq 24
        23: .line 247
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator edu.umd.cs.findbugs.ComponentPlugin java.util.Iterator
      StackMap stack:
            aload 4 /* brp */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
            invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isNamed:(Ljava/util/Set;)Z
            ifeq 25
        24: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* brp */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokestatic edu.umd.cs.findbugs.bugReporter.BugReporterDecorator.construct:(Ledu/umd/cs/findbugs/ComponentPlugin;Ledu/umd/cs/findbugs/BugReporter;)Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
        end local 4 // edu.umd.cs.findbugs.ComponentPlugin brp
        25: .line 244
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 2 // edu.umd.cs.findbugs.Plugin p
        26: .line 243
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        27: .line 252
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
            invokeinterface edu.umd.cs.findbugs.IClassScreener.vacuous:()Z
            ifne 29
        28: .line 253
            aload 0 /* this */
            new edu.umd.cs.findbugs.FindBugs2$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokespecial edu.umd.cs.findbugs.FindBugs2$2.<init>:(Ledu/umd/cs/findbugs/FindBugs2;Ledu/umd/cs/findbugs/BugReporter;)V
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
        29: .line 266
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            ldc Ledu/umd/cs/findbugs/detect/NoteSuppressedWarnings;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.isActive:(Ljava/lang/Class;)Z
            ifeq 32
        30: .line 267
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSuppressionMatcher:()Ledu/umd/cs/findbugs/SuppressionMatcher;
            astore 2 /* m */
        start local 2 // edu.umd.cs.findbugs.SuppressionMatcher m
        31: .line 268
            aload 0 /* this */
            new edu.umd.cs.findbugs.FilterBugReporter
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            aload 2 /* m */
            iconst_0
            invokespecial edu.umd.cs.findbugs.FilterBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;Ledu/umd/cs/findbugs/filter/Matcher;Z)V
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
        end local 2 // edu.umd.cs.findbugs.SuppressionMatcher m
        32: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 40
        33: .line 272
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.getApplicationCodebaseEntries:()Ljava/util/Map;
            astore 2 /* codebase */
        start local 2 // java.util.Map codebase
        34: .line 273
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.noClassOk:Z
            ifeq 37
        35: .line 274
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "No classfiles specified; output will have no warnings"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 275
            goto 40
      StackMap locals: java.util.Map
      StackMap stack:
        37: aload 2 /* codebase */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 39
        38: .line 276
            new java.io.IOException
            dup
            ldc "No files to analyze could be opened"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 278
      StackMap locals:
      StackMap stack:
            new edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            invokespecial edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException.<init>:(Ledu/umd/cs/findbugs/classfile/IClassPath;)V
            athrow
        end local 2 // java.util.Map codebase
        40: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.analyzeApplication:()V
        41: .line 284
            goto 64
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
        42: astore 2 /* e */
        start local 2 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        43: .line 285
            new java.io.IOException
            dup
            ldc "IOException while scanning codebases"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        44: .line 286
            aload 3 /* ioe */
            aload 2 /* e */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 287
            aload 3 /* ioe */
            athrow
        end local 3 // java.io.IOException ioe
        end local 2 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        46: .line 288
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
            astore 2 /* e */
        start local 2 // java.lang.OutOfMemoryError e
        47: .line 289
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Out of memory"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 290
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Total memory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.maxMemory:()J
            ldc 1000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "M"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        49: .line 291
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " free memory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.freeMemory:()J
            ldc 1000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "M"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        50: .line 293
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getFileList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 53
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler java.lang.OutOfMemoryError top java.util.Iterator
      StackMap stack:
        51: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
        52: .line 294
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Analyzed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String s
        53: .line 293
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 51
        54: .line 296
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getAuxClasspathEntryList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 57
      StackMap locals:
      StackMap stack:
        55: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
        56: .line 297
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "     Aux: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String s
        57: .line 296
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 55
        58: .line 299
            aload 2 /* e */
            athrow
        end local 2 // java.lang.OutOfMemoryError e
        59: .line 300
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler
      StackMap stack: java.lang.Throwable
            astore 6
        60: .line 301
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.clearCaches:()V
        61: .line 302
            aload 1 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
        62: .line 303
            aload 1 /* profiler */
            invokevirtual edu.umd.cs.findbugs.log.Profiler.report:()V
        63: .line 304
            aload 6
            athrow
        64: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.clearCaches:()V
        65: .line 302
            aload 1 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
        66: .line 303
            aload 1 /* profiler */
            invokevirtual edu.umd.cs.findbugs.log.Profiler.report:()V
        67: .line 305
            goto 71
      StackMap locals:
      StackMap stack: java.io.IOException
        68: astore 2 /* e */
        start local 2 // java.io.IOException e
        69: .line 306
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
        70: .line 307
            aload 2 /* e */
            athrow
        end local 2 // java.io.IOException e
        71: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 1 // edu.umd.cs.findbugs.log.Profiler profiler
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   72     0      this  Ledu/umd/cs/findbugs/FindBugs2;
            3   72     1  profiler  Ledu/umd/cs/findbugs/log/Profiler;
           20   26     2         p  Ledu/umd/cs/findbugs/Plugin;
           22   25     4       brp  Ledu/umd/cs/findbugs/ComponentPlugin<Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;>;
           31   32     2         m  Ledu/umd/cs/findbugs/SuppressionMatcher;
           34   40     2  codebase  Ljava/util/Map<Ljava/lang/String;Ledu/umd/cs/findbugs/classfile/ICodeBaseEntry;>;
           43   46     2         e  Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
           44   46     3       ioe  Ljava/io/IOException;
           47   59     2         e  Ljava/lang/OutOfMemoryError;
           52   53     3         s  Ljava/lang/String;
           56   57     3         s  Ljava/lang/String;
           69   71     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    41      42  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
           3    41      46  Class java.lang.OutOfMemoryError
           3    59      59  any
           3    67      68  Class java.io.IOException
    Exceptions:
      throws java.io.IOException, java.lang.InterruptedException

  protected void clearCaches();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 315
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.clearInstance:()V
         1: .line 316
            invokestatic edu.umd.cs.findbugs.ba.ObjectTypeFactory.clearInstance:()V
         2: .line 317
            invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierApplications.clearInstance:()V
         3: .line 318
            invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierAnnotation.clearInstance:()V
         4: .line 319
            invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.clearInstance:()V
         5: .line 321
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.removeCurrentAnalysisContext:()V
         6: .line 322
            invokestatic edu.umd.cs.findbugs.classfile.Global.removeAnalysisCacheForCurrentThread:()V
         7: .line 323
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            ifnull 9
         8: .line 324
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.close:()V
         9: .line 326
      StackMap locals:
      StackMap stack:
            return
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 333
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            ifnull 2
         1: .line 334
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.dispose:()V
         2: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            ifnull 4
         3: .line 337
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         4: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
            ifnull 6
         5: .line 340
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         6: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            ifnull 8
         7: .line 343
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.clear:()V
         8: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aconst_null
            putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
         9: .line 346
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
        10: .line 347
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
        11: .line 348
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
        12: .line 349
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
        13: .line 350
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
        14: .line 351
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
        15: .line 352
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
        16: .line 353
            aload 0 /* this */
            aconst_null
            putfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
        17: .line 354
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aconst_null
            putfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
        18: .line 355
            return
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public edu.umd.cs.findbugs.BugReporter getBugReporter();
    descriptor: ()Ledu/umd/cs/findbugs/BugReporter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 359
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public edu.umd.cs.findbugs.Project getProject();
    descriptor: ()Ledu/umd/cs/findbugs/Project;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 364
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public void addClassObserver(edu.umd.cs.findbugs.classfile.IClassObserver);
    descriptor: (Ledu/umd/cs/findbugs/classfile/IClassObserver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.classfile.IClassObserver classObserver
         0: .line 369
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
            aload 1 /* classObserver */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 370
            return
        end local 1 // edu.umd.cs.findbugs.classfile.IClassObserver classObserver
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  classObserver  Ledu/umd/cs/findbugs/classfile/IClassObserver;
    MethodParameters:
               Name  Flags
      classObserver  

  public void addFilter(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String filterFileName
        start local 2 // boolean include
         0: .line 374
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            aload 1 /* filterFileName */
            iload 2 /* include */
            invokestatic edu.umd.cs.findbugs.FindBugs.configureFilter:(Ledu/umd/cs/findbugs/BugReporter;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/BugReporter;
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
         1: .line 375
            return
        end local 2 // boolean include
        end local 1 // java.lang.String filterFileName
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  filterFileName  Ljava/lang/String;
            0    2     2         include  Z
    Exceptions:
      throws java.io.IOException, edu.umd.cs.findbugs.filter.FilterException
    MethodParameters:
                Name  Flags
      filterFileName  
      include         

  public void excludeBaselineBugs(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String baselineBugs
         0: .line 379
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            aload 1 /* baselineBugs */
            invokestatic edu.umd.cs.findbugs.FindBugs.configureBaselineFilter:(Ledu/umd/cs/findbugs/BugReporter;Ljava/lang/String;)Ledu/umd/cs/findbugs/BugReporter;
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
         1: .line 380
            return
        end local 1 // java.lang.String baselineBugs
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  baselineBugs  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, org.dom4j.DocumentException
    MethodParameters:
              Name  Flags
      baselineBugs  

  public void enableTrainingInput(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String trainingInputDir
         0: .line 384
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* trainingInputDir */
            putfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
         1: .line 385
            return
        end local 1 // java.lang.String trainingInputDir
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  trainingInputDir  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      trainingInputDir  

  public void enableTrainingOutput(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String trainingOutputDir
         0: .line 389
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* trainingOutputDir */
            putfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
         1: .line 390
            return
        end local 1 // java.lang.String trainingOutputDir
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  trainingOutputDir  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      trainingOutputDir  

  public int getBugCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 394
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
            invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getBugCount:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public java.lang.String getCurrentClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 399
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public int getErrorCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 404
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
            invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getErrorCount:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public int getMissingClassCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 409
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
            invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getMissingClassCount:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public java.lang.String getReleaseName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 414
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.releaseName:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public java.lang.String getProjectName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 419
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.projectName:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public void setProjectName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String name
         0: .line 424
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* name */
            putfield edu.umd.cs.findbugs.AnalysisOptions.projectName:Ljava/lang/String;
         1: .line 425
            return
        end local 1 // java.lang.String name
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setAnalysisFeatureSettings(edu.umd.cs.findbugs.config.AnalysisFeatureSetting[]);
    descriptor: ([Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.config.AnalysisFeatureSetting[] settingList
         0: .line 429
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* settingList */
            putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
         1: .line 430
            return
        end local 1 // edu.umd.cs.findbugs.config.AnalysisFeatureSetting[] settingList
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  settingList  [Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
    MethodParameters:
             Name  Flags
      settingList  

  public void setBugReporter(edu.umd.cs.findbugs.BugReporter);
    descriptor: (Ledu/umd/cs/findbugs/BugReporter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.BugReporter bugReporter
         0: .line 434
            aload 0 /* this */
            aload 0 /* this */
            new edu.umd.cs.findbugs.ErrorCountingBugReporter
            dup
            aload 1 /* bugReporter */
            invokespecial edu.umd.cs.findbugs.ErrorCountingBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;)V
            dup_x1
            putfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
         1: .line 436
            aload 0 /* this */
            aload 1 /* bugReporter */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.addClassObserver:(Ledu/umd/cs/findbugs/classfile/IClassObserver;)V
         2: .line 437
            return
        end local 1 // edu.umd.cs.findbugs.BugReporter bugReporter
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ledu/umd/cs/findbugs/FindBugs2;
            0    3     1  bugReporter  Ledu/umd/cs/findbugs/BugReporter;
    MethodParameters:
             Name  Flags
      bugReporter  

  public void setClassScreener(edu.umd.cs.findbugs.IClassScreener);
    descriptor: (Ledu/umd/cs/findbugs/IClassScreener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.IClassScreener classScreener
         0: .line 441
            aload 0 /* this */
            aload 1 /* classScreener */
            putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
         1: .line 442
            return
        end local 1 // edu.umd.cs.findbugs.IClassScreener classScreener
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  classScreener  Ledu/umd/cs/findbugs/IClassScreener;
    MethodParameters:
               Name  Flags
      classScreener  

  public void setProgressCallback(edu.umd.cs.findbugs.FindBugsProgress);
    descriptor: (Ledu/umd/cs/findbugs/FindBugsProgress;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.FindBugsProgress progressCallback
         0: .line 446
            aload 0 /* this */
            aload 1 /* progressCallback */
            putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
         1: .line 447
            return
        end local 1 // edu.umd.cs.findbugs.FindBugsProgress progressCallback
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  progressCallback  Ledu/umd/cs/findbugs/FindBugsProgress;
    MethodParameters:
                  Name  Flags
      progressCallback  

  public void setProject(edu.umd.cs.findbugs.Project);
    descriptor: (Ledu/umd/cs/findbugs/Project;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.Project project
         0: .line 451
            aload 0 /* this */
            aload 1 /* project */
            putfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
         1: .line 452
            return
        end local 1 // edu.umd.cs.findbugs.Project project
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  project  Ledu/umd/cs/findbugs/Project;
    MethodParameters:
         Name  Flags
      project  

  public void setRelaxedReportingMode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean relaxedReportingMode
         0: .line 456
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* relaxedReportingMode */
            putfield edu.umd.cs.findbugs.AnalysisOptions.relaxedReportingMode:Z
         1: .line 457
            return
        end local 1 // boolean relaxedReportingMode
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  relaxedReportingMode  Z
    MethodParameters:
                      Name  Flags
      relaxedReportingMode  

  public void setReleaseName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String releaseName
         0: .line 461
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* releaseName */
            putfield edu.umd.cs.findbugs.AnalysisOptions.releaseName:Ljava/lang/String;
         1: .line 462
            return
        end local 1 // java.lang.String releaseName
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  releaseName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      releaseName  

  public void setSourceInfoFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.lang.String sourceInfoFile
         0: .line 466
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* sourceInfoFile */
            putfield edu.umd.cs.findbugs.AnalysisOptions.sourceInfoFileName:Ljava/lang/String;
         1: .line 467
            return
        end local 1 // java.lang.String sourceInfoFile
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  sourceInfoFile  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      sourceInfoFile  

  public void setUserPreferences(edu.umd.cs.findbugs.config.UserPreferences);
    descriptor: (Ledu/umd/cs/findbugs/config/UserPreferences;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.config.UserPreferences userPreferences
         0: .line 471
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            aload 1 /* userPreferences */
            putfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
         1: .line 475
            aload 0 /* this */
            aload 1 /* userPreferences */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.configureFilters:(Ledu/umd/cs/findbugs/config/UserPreferences;)V
         2: .line 476
            return
        end local 1 // edu.umd.cs.findbugs.config.UserPreferences userPreferences
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ledu/umd/cs/findbugs/FindBugs2;
            0    3     1  userPreferences  Ledu/umd/cs/findbugs/config/UserPreferences;
    MethodParameters:
                 Name  Flags
      userPreferences  

  protected void configureFilters(edu.umd.cs.findbugs.config.UserPreferences);
    descriptor: (Ledu/umd/cs/findbugs/config/UserPreferences;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.config.UserPreferences userPreferences
         0: .line 479
            aconst_null
            astore 2 /* deferredError */
        start local 2 // java.lang.IllegalArgumentException deferredError
         1: .line 480
            aload 1 /* userPreferences */
            invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getExcludeBugsFiles:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 3 /* excludeBugFiles */
        start local 3 // java.util.Set excludeBugFiles
         2: .line 481
            aload 3 /* excludeBugFiles */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         4: .line 482
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 15
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 6
         5: .line 483
            goto 15
         6: .line 486
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual edu.umd.cs.findbugs.FindBugs2.excludeBaselineBugs:(Ljava/lang/String;)V
         7: .line 487
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 6 /* e */
        start local 6 // java.lang.Exception e
         9: .line 488
            new java.lang.StringBuilder
            dup
            ldc "Unable to read filter: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* message */
        start local 7 // java.lang.String message
        10: .line 489
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            ifnull 13
        11: .line 490
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            aload 7 /* message */
            aload 6 /* e */
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        12: .line 491
            goto 15
      StackMap locals: java.lang.Exception java.lang.String
      StackMap stack:
        13: aload 2 /* deferredError */
            ifnonnull 15
        14: .line 492
            new java.lang.IllegalArgumentException
            dup
            aload 7 /* message */
            aload 6 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* deferredError */
        end local 7 // java.lang.String message
        end local 6 // java.lang.Exception e
        end local 4 // java.util.Map$Entry entry
        15: .line 481
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        16: .line 496
            aload 1 /* userPreferences */
            invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getIncludeFilterFiles:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 4 /* includeFilterFiles */
        start local 4 // java.util.Set includeFilterFiles
        17: .line 497
            aload 4 /* includeFilterFiles */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 30
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
        19: .line 498
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 30
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 21
        20: .line 499
            goto 30
        21: .line 502
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_1
            invokevirtual edu.umd.cs.findbugs.FindBugs2.addFilter:(Ljava/lang/String;Z)V
        22: .line 503
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: astore 7 /* e */
        start local 7 // java.lang.Exception e
        24: .line 504
            new java.lang.StringBuilder
            dup
            ldc "Unable to read filter: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* message */
        start local 8 // java.lang.String message
        25: .line 505
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            ifnull 28
        26: .line 506
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            aload 8 /* message */
            aload 7 /* e */
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        27: .line 507
            goto 30
      StackMap locals: java.lang.Exception java.lang.String
      StackMap stack:
        28: aload 2 /* deferredError */
            ifnonnull 30
        29: .line 508
            new java.lang.IllegalArgumentException
            dup
            aload 8 /* message */
            aload 7 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* deferredError */
        end local 8 // java.lang.String message
        end local 7 // java.lang.Exception e
        end local 5 // java.util.Map$Entry entry
        30: .line 497
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        31: .line 512
            aload 1 /* userPreferences */
            invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getExcludeFilterFiles:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 5 /* excludeFilterFiles */
        start local 5 // java.util.Set excludeFilterFiles
        32: .line 514
            aload 5 /* excludeFilterFiles */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 47
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        33: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        34: .line 515
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 8 /* value */
        start local 8 // java.lang.Boolean value
        35: .line 516
            aload 8 /* value */
            ifnull 47
            aload 8 /* value */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 37
        36: .line 517
            goto 47
        37: .line 519
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator java.lang.Boolean
      StackMap stack:
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* excludeFilterFile */
        start local 9 // java.lang.String excludeFilterFile
        38: .line 521
            aload 0 /* this */
            aload 9 /* excludeFilterFile */
            iconst_0
            invokevirtual edu.umd.cs.findbugs.FindBugs2.addFilter:(Ljava/lang/String;Z)V
        39: .line 522
            goto 47
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator java.lang.Boolean java.lang.String
      StackMap stack: java.lang.Exception
        40: astore 10 /* e */
        start local 10 // java.lang.Exception e
        41: .line 523
            new java.lang.StringBuilder
            dup
            ldc "Unable to read filter: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* excludeFilterFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* message */
        start local 11 // java.lang.String message
        42: .line 524
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            ifnull 45
        43: .line 525
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
            aload 11 /* message */
            aload 10 /* e */
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        44: .line 526
            goto 47
      StackMap locals: java.lang.Exception java.lang.String
      StackMap stack:
        45: aload 2 /* deferredError */
            ifnonnull 47
        46: .line 527
            new java.lang.IllegalArgumentException
            dup
            aload 11 /* message */
            aload 10 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* deferredError */
        end local 11 // java.lang.String message
        end local 10 // java.lang.Exception e
        end local 9 // java.lang.String excludeFilterFile
        end local 8 // java.lang.Boolean value
        end local 6 // java.util.Map$Entry entry
        47: .line 514
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        48: .line 531
            aload 2 /* deferredError */
            ifnull 50
        49: .line 532
            aload 2 /* deferredError */
            athrow
        50: .line 534
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set
      StackMap stack:
            return
        end local 5 // java.util.Set excludeFilterFiles
        end local 4 // java.util.Set includeFilterFiles
        end local 3 // java.util.Set excludeBugFiles
        end local 2 // java.lang.IllegalArgumentException deferredError
        end local 1 // edu.umd.cs.findbugs.config.UserPreferences userPreferences
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   51     0                this  Ledu/umd/cs/findbugs/FindBugs2;
            0   51     1     userPreferences  Ledu/umd/cs/findbugs/config/UserPreferences;
            1   51     2       deferredError  Ljava/lang/IllegalArgumentException;
            2   51     3     excludeBugFiles  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
            4   15     4               entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
            9   15     6                   e  Ljava/lang/Exception;
           10   15     7             message  Ljava/lang/String;
           17   51     4  includeFilterFiles  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
           19   30     5               entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
           24   30     7                   e  Ljava/lang/Exception;
           25   30     8             message  Ljava/lang/String;
           32   51     5  excludeFilterFiles  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
           34   47     6               entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
           35   47     8               value  Ljava/lang/Boolean;
           38   47     9   excludeFilterFile  Ljava/lang/String;
           41   47    10                   e  Ljava/lang/Exception;
           42   47    11             message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
          21    22      23  Class java.lang.Exception
          38    39      40  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      userPreferences  

  public boolean emitTrainingOutput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 538
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public edu.umd.cs.findbugs.config.UserPreferences getUserPreferences();
    descriptor: ()Ledu/umd/cs/findbugs/config/UserPreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 543
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  private void createClassPath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 550
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createClassPath:()Ledu/umd/cs/findbugs/classfile/IClassPath;
            putfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
         1: .line 551
            return
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public java.lang.String getTrainingInputDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 555
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public java.lang.String getTrainingOutputDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 560
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public boolean useTrainingInput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 565
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public void setScanNestedArchives(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean scanNestedArchives
         0: .line 570
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* scanNestedArchives */
            putfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
         1: .line 571
            return
        end local 1 // boolean scanNestedArchives
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  scanNestedArchives  Z
    MethodParameters:
                    Name  Flags
      scanNestedArchives  

  public void setNoClassOk(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean noClassOk
         0: .line 575
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* noClassOk */
            putfield edu.umd.cs.findbugs.AnalysisOptions.noClassOk:Z
         1: .line 576
            return
        end local 1 // boolean noClassOk
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  noClassOk  Z
    MethodParameters:
           Name  Flags
      noClassOk  

  protected edu.umd.cs.findbugs.classfile.IAnalysisCache createAnalysisCache();
    descriptor: ()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 588
            invokestatic edu.umd.cs.findbugs.classfile.impl.ClassFactory.instance:()Ledu/umd/cs/findbugs/classfile/IClassFactory;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createAnalysisCache:(Ledu/umd/cs/findbugs/classfile/IClassPath;Ledu/umd/cs/findbugs/BugReporter;)Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            astore 1 /* analysisCache */
        start local 1 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
         1: .line 591
            aload 1 /* analysisCache */
            invokestatic edu.umd.cs.findbugs.FindBugs2.registerBuiltInAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         2: .line 594
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            aload 1 /* analysisCache */
            invokestatic edu.umd.cs.findbugs.FindBugs2.registerPluginAnalysisEngines:(Ledu/umd/cs/findbugs/DetectorFactoryCollection;Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         3: .line 597
            aload 1 /* analysisCache */
            ldc Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.eagerlyPutDatabase:(Ljava/lang/Class;Ljava/lang/Object;)V
         4: .line 599
            aload 1 /* analysisCache */
            invokestatic edu.umd.cs.findbugs.classfile.Global.setAnalysisCacheForCurrentThread:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         5: .line 600
            aload 1 /* analysisCache */
            areturn
        end local 1 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ledu/umd/cs/findbugs/FindBugs2;
            1    6     1  analysisCache  Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
    Exceptions:
      throws java.io.IOException

  public static void registerBuiltInAnalysisEngines(edu.umd.cs.findbugs.classfile.IAnalysisCache);
    descriptor: (Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
         0: .line 609
            new edu.umd.cs.findbugs.classfile.engine.EngineRegistrar
            dup
            invokespecial edu.umd.cs.findbugs.classfile.engine.EngineRegistrar.<init>:()V
            aload 0 /* analysisCache */
            invokevirtual edu.umd.cs.findbugs.classfile.engine.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         1: .line 610
            new edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar
            dup
            invokespecial edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar.<init>:()V
            aload 0 /* analysisCache */
            invokevirtual edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         2: .line 611
            new edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar
            dup
            invokespecial edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar.<init>:()V
            aload 0 /* analysisCache */
            invokevirtual edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
         3: .line 612
            return
        end local 0 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0  analysisCache  Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
    MethodParameters:
               Name  Flags
      analysisCache  

  public static void registerPluginAnalysisEngines(edu.umd.cs.findbugs.DetectorFactoryCollection, edu.umd.cs.findbugs.classfile.IAnalysisCache);
    descriptor: (Ledu/umd/cs/findbugs/DetectorFactoryCollection;Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection
        start local 1 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
         0: .line 626
            aload 0 /* detectorFactoryCollection */
            invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.pluginIterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: goto 20
         2: .line 627
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.Plugin
            astore 3 /* plugin */
        start local 3 // edu.umd.cs.findbugs.Plugin plugin
         3: .line 629
            aload 3 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getEngineRegistrarClass:()Ljava/lang/Class;
            astore 4 /* engineRegistrarClass */
        start local 4 // java.lang.Class engineRegistrarClass
         4: .line 630
            aload 4 /* engineRegistrarClass */
            ifnull 20
         5: .line 632
            aload 4 /* engineRegistrarClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar
            astore 5 /* engineRegistrar */
        start local 5 // edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar engineRegistrar
         6: .line 633
            aload 5 /* engineRegistrar */
            aload 1 /* analysisCache */
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
        end local 5 // edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar engineRegistrar
         7: .line 634
            goto 20
      StackMap locals: edu.umd.cs.findbugs.DetectorFactoryCollection edu.umd.cs.findbugs.classfile.IAnalysisCache java.util.Iterator edu.umd.cs.findbugs.Plugin java.lang.Class
      StackMap stack: java.lang.InstantiationException
         8: astore 5 /* e */
        start local 5 // java.lang.InstantiationException e
         9: .line 635
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not create analysis engine registrar for plugin "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 636
            aload 3 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 635
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        12: .line 637
            aload 6 /* ioe */
            aload 5 /* e */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 638
            aload 6 /* ioe */
            athrow
        end local 6 // java.io.IOException ioe
        end local 5 // java.lang.InstantiationException e
        14: .line 639
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* e */
        start local 5 // java.lang.IllegalAccessException e
        15: .line 640
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not create analysis engine registrar for plugin "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 641
            aload 3 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 640
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        18: .line 642
            aload 6 /* ioe */
            aload 5 /* e */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        19: .line 643
            aload 6 /* ioe */
            athrow
        end local 6 // java.io.IOException ioe
        end local 5 // java.lang.IllegalAccessException e
        end local 4 // java.lang.Class engineRegistrarClass
        end local 3 // edu.umd.cs.findbugs.Plugin plugin
        20: .line 626
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator i
        21: .line 647
            return
        end local 1 // edu.umd.cs.findbugs.classfile.IAnalysisCache analysisCache
        end local 0 // edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   22     0  detectorFactoryCollection  Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            0   22     1              analysisCache  Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            1   21     2                          i  Ljava/util/Iterator<Ledu/umd/cs/findbugs/Plugin;>;
            3   20     3                     plugin  Ledu/umd/cs/findbugs/Plugin;
            4   20     4       engineRegistrarClass  Ljava/lang/Class<+Ledu/umd/cs/findbugs/classfile/IAnalysisEngineRegistrar;>;
            6    7     5            engineRegistrar  Ledu/umd/cs/findbugs/classfile/IAnalysisEngineRegistrar;
            9   14     5                          e  Ljava/lang/InstantiationException;
           12   14     6                        ioe  Ljava/io/IOException;
           15   20     5                          e  Ljava/lang/IllegalAccessException;
           18   20     6                        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.InstantiationException
           5     7      14  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                           Name  Flags
      detectorFactoryCollection  
      analysisCache              

  private void buildClassPath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 659
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createClassPathBuilder:(Ledu/umd/cs/findbugs/classfile/IErrorLogger;)Ledu/umd/cs/findbugs/classfile/IClassPathBuilder;
            astore 1 /* builder */
        start local 1 // edu.umd.cs.findbugs.classfile.IClassPathBuilder builder
         1: .line 662
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* seen */
        start local 2 // java.util.HashSet seen
         2: .line 663
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getFileArray:()[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder java.util.HashSet top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* path */
        start local 3 // java.lang.String path
         4: .line 664
            aload 2 /* seen */
            aload 3 /* path */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 665
            aload 1 /* builder */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
            aload 3 /* path */
            invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createFilesystemCodeBaseLocator:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;
            iconst_1
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.addCodeBase:(Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;Z)V
        end local 3 // java.lang.String path
         6: .line 663
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 668
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getAuxClasspathEntryList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder java.util.HashSet top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* path */
        start local 3 // java.lang.String path
        10: .line 669
            aload 2 /* seen */
            aload 3 /* path */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 670
            aload 1 /* builder */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
            aload 3 /* path */
            invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createFilesystemCodeBaseLocator:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;
            iconst_0
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.addCodeBase:(Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;Z)V
        end local 3 // java.lang.String path
        12: .line 668
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 2 // java.util.HashSet seen
        13: .line 675
            aload 1 /* builder */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.scanNestedArchives:(Z)V
        14: .line 677
            aload 1 /* builder */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.build:(Ledu/umd/cs/findbugs/classfile/IClassPath;Ledu/umd/cs/findbugs/classfile/IClassPathBuilderProgress;)V
        15: .line 679
            aload 0 /* this */
            aload 1 /* builder */
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.getAppClassList:()Ljava/util/List;
            putfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
        16: .line 681
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 18
        17: .line 682
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " classes scanned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 689
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
            invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.appCodeBaseIterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
        19: goto 26
        20: .line 690
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ICodeBase
            astore 3 /* appCodeBase */
        start local 3 // edu.umd.cs.findbugs.classfile.ICodeBase appCodeBase
        21: .line 692
            aload 3 /* appCodeBase */
            invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.containsSourceFiles:()Z
            ifeq 25
        22: .line 693
            aload 3 /* appCodeBase */
            invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.getPathName:()Ljava/lang/String;
            astore 4 /* pathName */
        start local 4 // java.lang.String pathName
        23: .line 694
            aload 4 /* pathName */
            ifnull 25
        24: .line 695
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            aload 4 /* pathName */
            invokevirtual edu.umd.cs.findbugs.Project.addSourceDir:(Ljava/lang/String;)Z
            pop
        end local 4 // java.lang.String pathName
        25: .line 699
      StackMap locals: edu.umd.cs.findbugs.classfile.ICodeBase
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
            aload 3 /* appCodeBase */
            invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.getLastModifiedTime:()J
            invokevirtual edu.umd.cs.findbugs.Project.addTimestamp:(J)V
        end local 3 // edu.umd.cs.findbugs.classfile.ICodeBase appCodeBase
        26: .line 689
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 2 // java.util.Iterator i
        27: .line 702
            return
        end local 1 // edu.umd.cs.findbugs.classfile.IClassPathBuilder builder
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Ledu/umd/cs/findbugs/FindBugs2;
            1   28     1      builder  Ledu/umd/cs/findbugs/classfile/IClassPathBuilder;
            2   13     2         seen  Ljava/util/HashSet<Ljava/lang/String;>;
            4    6     3         path  Ljava/lang/String;
           10   12     3         path  Ljava/lang/String;
           19   27     2            i  Ljava/util/Iterator<+Ledu/umd/cs/findbugs/classfile/ICodeBase;>;
           21   26     3  appCodeBase  Ledu/umd/cs/findbugs/classfile/ICodeBase;
           23   25     4     pathName  Ljava/lang/String;
    Exceptions:
      throws java.lang.InterruptedException, java.io.IOException, edu.umd.cs.findbugs.classfile.CheckedAnalysisException

  private void buildReferencedClassSet();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=16, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 707
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 2
         1: .line 708
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Adding referenced classes"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 710
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* referencedPackageSet */
        start local 1 // java.util.Set referencedPackageSet
         3: .line 712
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* workList */
        start local 2 // java.util.LinkedList workList
         4: .line 713
            aload 2 /* workList */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokevirtual java.util.LinkedList.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 715
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* seen */
        start local 3 // java.util.Set seen
         6: .line 716
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* appClassSet */
        start local 4 // java.util.Set appClassSet
         7: .line 718
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* badAppClassSet */
        start local 5 // java.util.Set badAppClassSet
         8: .line 719
            new java.util.HashSet
            dup
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
         9: .line 720
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
        10: .line 719
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* knownDescriptors */
        start local 6 // java.util.HashSet knownDescriptors
        11: .line 721
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        12: .line 722
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 8 /* addedToWorkList */
        start local 8 // java.util.Set addedToWorkList
        13: .line 751
            goto 53
        14: .line 752
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set
      StackMap stack:
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 16
        15: .line 753
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
        16: .line 755
      StackMap locals:
      StackMap stack:
            aload 2 /* workList */
            invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 9 /* classDesc */
        start local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDesc
        17: .line 757
            aload 3 /* seen */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 758
            goto 53
        19: .line 760
      StackMap locals: edu.umd.cs.findbugs.classfile.ClassDescriptor
      StackMap stack:
            aload 3 /* seen */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 762
            aload 6 /* knownDescriptors */
            aload 9 /* classDesc */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 24
        21: .line 763
            iinc 7 /* count */ 1
        22: .line 764
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 24
            iload 7 /* count */
            sipush 5000
            irem
            ifne 24
        23: .line 765
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Adding referenced class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* classDesc */
            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 769
      StackMap locals:
      StackMap stack:
            aload 1 /* referencedPackageSet */
            aload 9 /* classDesc */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getPackageName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 774
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/ba/XClass;
            aload 9 /* classDesc */
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.ba.XClass
            astore 10 /* classNameAndInfo */
        start local 10 // edu.umd.cs.findbugs.ba.XClass classNameAndInfo
        26: .line 776
            aload 10 /* classNameAndInfo */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.getSuperclassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            astore 11 /* superclassDescriptor */
        start local 11 // edu.umd.cs.findbugs.classfile.ClassDescriptor superclassDescriptor
        27: .line 777
            aload 11 /* superclassDescriptor */
            ifnull 29
            aload 8 /* addedToWorkList */
            aload 11 /* superclassDescriptor */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 778
            aload 2 /* workList */
            aload 11 /* superclassDescriptor */
            invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
        29: .line 781
      StackMap locals: edu.umd.cs.findbugs.ba.XClass edu.umd.cs.findbugs.classfile.ClassDescriptor
      StackMap stack:
            aload 10 /* classNameAndInfo */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.getInterfaceDescriptorList:()[Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 34
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.ba.XClass edu.umd.cs.findbugs.classfile.ClassDescriptor top int int edu.umd.cs.findbugs.classfile.ClassDescriptor[]
      StackMap stack:
        30: aload 15
            iload 13
            aaload
            astore 12 /* ifaceDesc */
        start local 12 // edu.umd.cs.findbugs.classfile.ClassDescriptor ifaceDesc
        31: .line 782
            aload 8 /* addedToWorkList */
            aload 12 /* ifaceDesc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 783
            aload 2 /* workList */
            aload 12 /* ifaceDesc */
            invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
        end local 12 // edu.umd.cs.findbugs.classfile.ClassDescriptor ifaceDesc
        33: .line 781
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        34: iload 13
            iload 14
            if_icmplt 30
        35: .line 787
            aload 10 /* classNameAndInfo */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.getImmediateEnclosingClass:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            astore 12 /* enclosingClass */
        start local 12 // edu.umd.cs.findbugs.classfile.ClassDescriptor enclosingClass
        36: .line 788
            aload 12 /* enclosingClass */
            ifnull 53
            aload 8 /* addedToWorkList */
            aload 12 /* enclosingClass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 53
        37: .line 789
            aload 2 /* workList */
            aload 12 /* enclosingClass */
            invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
        end local 12 // edu.umd.cs.findbugs.classfile.ClassDescriptor enclosingClass
        end local 11 // edu.umd.cs.findbugs.classfile.ClassDescriptor superclassDescriptor
        end local 10 // edu.umd.cs.findbugs.ba.XClass classNameAndInfo
        38: .line 792
            goto 53
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor
      StackMap stack: java.lang.RuntimeException
        39: astore 10 /* e */
        start local 10 // java.lang.RuntimeException e
        40: .line 793
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            new java.lang.StringBuilder
            dup
            ldc "Error scanning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* classDesc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for referenced classes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        41: .line 794
            aload 4 /* appClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 53
        42: .line 795
            aload 5 /* badAppClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.RuntimeException e
        43: goto 53
        44: .line 797
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.classfile.MissingClassException
            astore 10 /* e */
        start local 10 // edu.umd.cs.findbugs.classfile.MissingClassException e
        45: .line 799
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            aload 10 /* e */
            invokevirtual edu.umd.cs.findbugs.classfile.MissingClassException.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            invokeinterface edu.umd.cs.findbugs.BugReporter.reportMissingClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
        46: .line 800
            aload 4 /* appClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 53
        47: .line 801
            aload 5 /* badAppClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // edu.umd.cs.findbugs.classfile.MissingClassException e
        48: goto 53
        49: .line 803
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
            astore 10 /* e */
        start local 10 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        50: .line 806
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            new java.lang.StringBuilder
            dup
            ldc "Error scanning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* classDesc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for referenced classes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        51: .line 807
            aload 4 /* appClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 53
        52: .line 808
            aload 5 /* badAppClassSet */
            aload 9 /* classDesc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        end local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDesc
        53: .line 751
      StackMap locals:
      StackMap stack:
            aload 2 /* workList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 14
        54: .line 813
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            aload 5 /* badAppClassSet */
            invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
            pop
        55: .line 814
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            aload 5 /* badAppClassSet */
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.purge:(Ljava/util/Collection;)V
        56: .line 816
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 59
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set top java.util.Iterator
      StackMap stack:
        57: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 9 /* d */
        start local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor d
        58: .line 817
            aload 1 /* referencedPackageSet */
            aload 9 /* d */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getPackageName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor d
        59: .line 816
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 57
        60: .line 819
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
        61: .line 823
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 69
        62: .line 824
            aload 1 /* referencedPackageSet */
            ldc ""
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        63: .line 825
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Added "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " referenced classes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        64: .line 826
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Total of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* referencedPackageSet */
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " packages"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        65: .line 827
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 68
      StackMap locals:
      StackMap stack:
        66: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 9 /* d */
        start local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor d
        67: .line 828
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* d */
            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
        end local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor d
        68: .line 827
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 66
        69: .line 831
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set
      StackMap stack:
            return
        end local 8 // java.util.Set addedToWorkList
        end local 7 // int count
        end local 6 // java.util.HashSet knownDescriptors
        end local 5 // java.util.Set badAppClassSet
        end local 4 // java.util.Set appClassSet
        end local 3 // java.util.Set seen
        end local 2 // java.util.LinkedList workList
        end local 1 // java.util.Set referencedPackageSet
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   70     0                  this  Ledu/umd/cs/findbugs/FindBugs2;
            3   70     1  referencedPackageSet  Ljava/util/Set<Ljava/lang/String;>;
            4   70     2              workList  Ljava/util/LinkedList<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            6   70     3                  seen  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            7   70     4           appClassSet  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            8   70     5        badAppClassSet  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           11   70     6      knownDescriptors  Ljava/util/HashSet<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           12   70     7                 count  I
           13   70     8       addedToWorkList  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           17   53     9             classDesc  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           26   38    10      classNameAndInfo  Ledu/umd/cs/findbugs/ba/XClass;
           27   38    11  superclassDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           31   33    12             ifaceDesc  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           36   38    12        enclosingClass  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           40   43    10                     e  Ljava/lang/RuntimeException;
           45   48    10                     e  Ledu/umd/cs/findbugs/classfile/MissingClassException;
           50   53    10                     e  Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
           58   59     9                     d  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           67   68     9                     d  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
      Exception table:
        from    to  target  type
          25    38      39  Class java.lang.RuntimeException
          25    38      44  Class edu.umd.cs.findbugs.classfile.MissingClassException
          25    38      49  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
    Exceptions:
      throws java.lang.InterruptedException

  public java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor> sortByCallGraph(java.util.Collection<edu.umd.cs.findbugs.classfile.ClassDescriptor>, edu.umd.cs.findbugs.util.TopologicalSort$OutEdges<edu.umd.cs.findbugs.classfile.ClassDescriptor>);
    descriptor: (Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.util.Collection classList
        start local 2 // edu.umd.cs.findbugs.util.TopologicalSort$OutEdges outEdges
         0: .line 834
            aload 1 /* classList */
            aload 2 /* outEdges */
            invokestatic edu.umd.cs.findbugs.util.TopologicalSort.sortByCallGraph:(Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
            astore 3 /* evaluationOrder */
        start local 3 // java.util.List evaluationOrder
         1: .line 835
            aload 3 /* evaluationOrder */
            aload 2 /* outEdges */
            invokestatic edu.umd.cs.findbugs.util.TopologicalSort.countBadEdges:(Ljava/util/List;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)V
         2: .line 836
            aload 3 /* evaluationOrder */
            areturn
        end local 3 // java.util.List evaluationOrder
        end local 2 // edu.umd.cs.findbugs.util.TopologicalSort$OutEdges outEdges
        end local 1 // java.util.Collection classList
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ledu/umd/cs/findbugs/FindBugs2;
            0    3     1        classList  Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            0    3     2         outEdges  Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            1    3     3  evaluationOrder  Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
    Signature: (Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;)Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
    MethodParameters:
           Name  Flags
      classList  
      outEdges   

  public static void clearAnalysisContext();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 841
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.removeCurrentAnalysisContext:()V
         1: .line 842
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void createAnalysisContext(edu.umd.cs.findbugs.Project, java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor>, java.lang.String);
    descriptor: (Ledu/umd/cs/findbugs/Project;Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project project
        start local 1 // java.util.List appClassList
        start local 2 // java.lang.String sourceInfoFileName
         0: .line 857
            new edu.umd.cs.findbugs.ba.AnalysisContext
            dup
            aload 0 /* project */
            invokespecial edu.umd.cs.findbugs.ba.AnalysisContext.<init>:(Ledu/umd/cs/findbugs/Project;)V
            astore 3 /* analysisContext */
        start local 3 // edu.umd.cs.findbugs.ba.AnalysisContext analysisContext
         1: .line 860
            aload 3 /* analysisContext */
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.setCurrentAnalysisContext:(Ledu/umd/cs/findbugs/ba/AnalysisContext;)V
         2: .line 864
            aload 3 /* analysisContext */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearRepository:()V
         3: .line 867
            aload 2 /* sourceInfoFileName */
            ifnull 6
         4: .line 868
            aload 3 /* analysisContext */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSourceInfoMap:()Ledu/umd/cs/findbugs/ba/SourceInfoMap;
            astore 4 /* sourceInfoMap */
        start local 4 // edu.umd.cs.findbugs.ba.SourceInfoMap sourceInfoMap
         5: .line 869
            aload 4 /* sourceInfoMap */
            new java.io.FileInputStream
            dup
            aload 2 /* sourceInfoFileName */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap.read:(Ljava/io/InputStream;)V
        end local 4 // edu.umd.cs.findbugs.ba.SourceInfoMap sourceInfoMap
         6: .line 871
      StackMap locals: edu.umd.cs.findbugs.ba.AnalysisContext
      StackMap stack:
            return
        end local 3 // edu.umd.cs.findbugs.ba.AnalysisContext analysisContext
        end local 2 // java.lang.String sourceInfoFileName
        end local 1 // java.util.List appClassList
        end local 0 // edu.umd.cs.findbugs.Project project
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0             project  Ledu/umd/cs/findbugs/Project;
            0    7     1        appClassList  Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            0    7     2  sourceInfoFileName  Ljava/lang/String;
            1    7     3     analysisContext  Ledu/umd/cs/findbugs/ba/AnalysisContext;
            5    6     4       sourceInfoMap  Ledu/umd/cs/findbugs/ba/SourceInfoMap;
    Exceptions:
      throws java.io.IOException
    Signature: (Ledu/umd/cs/findbugs/Project;Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;Ljava/lang/String;)V
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.CheckForNull()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        javax.annotation.CheckForNull()
    MethodParameters:
                    Name  Flags
      project             
      appClassList        
      sourceInfoFileName  

  public static void setAppClassList(java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.List appClassList
         0: .line 875
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
         1: .line 874
            astore 1 /* analysisContext */
        start local 1 // edu.umd.cs.findbugs.ba.AnalysisContext analysisContext
         2: .line 877
            aload 1 /* analysisContext */
            aload 0 /* appClassList */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList:(Ljava/util/List;)V
         3: .line 878
            return
        end local 1 // edu.umd.cs.findbugs.ba.AnalysisContext analysisContext
        end local 0 // java.util.List appClassList
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0     appClassList  Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
            2    4     1  analysisContext  Ledu/umd/cs/findbugs/ba/AnalysisContext;
    Signature: (Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;)V
    MethodParameters:
              Name  Flags
      appClassList  

  private void configureAnalysisFeatures();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 884
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 top int int edu.umd.cs.findbugs.config.AnalysisFeatureSetting[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* setting */
        start local 1 // edu.umd.cs.findbugs.config.AnalysisFeatureSetting setting
         2: .line 885
            aload 1 /* setting */
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            invokevirtual edu.umd.cs.findbugs.config.AnalysisFeatureSetting.configure:(Ledu/umd/cs/findbugs/ba/AnalysisContext;)V
        end local 1 // edu.umd.cs.findbugs.config.AnalysisFeatureSetting setting
         3: .line 884
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 887
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            bipush 7
         6: .line 888
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.mergeSimilarWarnings:Z
         7: .line 887
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setBoolProperty:(IZ)V
         8: .line 889
            return
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ledu/umd/cs/findbugs/FindBugs2;
            2    3     1  setting  Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;

  private void createExecutionPlan();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 898
            aload 0 /* this */
            new edu.umd.cs.findbugs.plan.ExecutionPlan
            dup
            invokespecial edu.umd.cs.findbugs.plan.ExecutionPlan.<init>:()V
            putfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
         1: .line 901
            new edu.umd.cs.findbugs.FindBugs2$3
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.FindBugs2$3.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
            astore 1 /* detectorFactoryChooser */
        start local 1 // edu.umd.cs.findbugs.DetectorFactoryChooser detectorFactoryChooser
         2: .line 920
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            aload 1 /* detectorFactoryChooser */
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.setDetectorFactoryChooser:(Ledu/umd/cs/findbugs/DetectorFactoryChooser;)V
         3: .line 922
            getstatic edu.umd.cs.findbugs.plan.ExecutionPlan.DEBUG:Z
            ifeq 5
         4: .line 923
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "rank threshold is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 926
      StackMap locals: edu.umd.cs.findbugs.DetectorFactoryChooser
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.pluginIterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         6: goto 11
         7: .line 927
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.Plugin
            astore 3 /* plugin */
        start local 3 // edu.umd.cs.findbugs.Plugin plugin
         8: .line 928
            getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
            ifeq 10
         9: .line 929
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Adding plugin "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to execution plan"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 931
      StackMap locals: edu.umd.cs.findbugs.Plugin
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            aload 3 /* plugin */
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.addPlugin:(Ledu/umd/cs/findbugs/Plugin;)V
        end local 3 // edu.umd.cs.findbugs.Plugin plugin
        11: .line 926
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 2 // java.util.Iterator i
        12: .line 935
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.build:()V
        13: .line 938
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.eagerlyPutDatabase:(Ljava/lang/Class;Ljava/lang/Object;)V
        14: .line 940
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 16
        15: .line 941
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " passes in execution plan"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 943
      StackMap locals:
      StackMap stack:
            return
        end local 1 // edu.umd.cs.findbugs.DetectorFactoryChooser detectorFactoryChooser
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   17     0                    this  Ledu/umd/cs/findbugs/FindBugs2;
            2   17     1  detectorFactoryChooser  Ledu/umd/cs/findbugs/DetectorFactoryChooser;
            6   12     2                       i  Ljava/util/Iterator<Ledu/umd/cs/findbugs/Plugin;>;
            8   11     3                  plugin  Ledu/umd/cs/findbugs/Plugin;
    Exceptions:
      throws edu.umd.cs.findbugs.plan.OrderingConstraintException

  private void analyzeApplication();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=34, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 949
            iconst_0
            istore 1 /* passCount */
        start local 1 // int passCount
         1: .line 950
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
            invokevirtual edu.umd.cs.findbugs.ProjectStats.getProfiler:()Ledu/umd/cs/findbugs/log/Profiler;
            astore 2 /* profiler */
        start local 2 // edu.umd.cs.findbugs.log.Profiler profiler
         2: .line 951
            aload 2 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
         3: .line 952
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
            invokevirtual edu.umd.cs.findbugs.ba.XFactory.canonicalizeAll:()V
         4: .line 954
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
            iconst_1
            if_icmple 5
            iconst_1
            goto 6
      StackMap locals: int edu.umd.cs.findbugs.log.Profiler
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* multiplePasses */
        start local 3 // boolean multiplePasses
         7: .line 955
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
            ifne 9
         8: .line 956
            new java.lang.AssertionError
            dup
            ldc "no analysis passes"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 958
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
            newarray 10
            astore 4 /* classesPerPass */
        start local 4 // int[] classesPerPass
        10: .line 959
            aload 4 /* classesPerPass */
            iconst_0
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            iastore
        11: .line 960
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 961
      StackMap locals: int[] int
      StackMap stack:
            aload 4 /* classesPerPass */
            iload 5 /* i */
            iload 5 /* i */
            ifne 14
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            goto 15
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] int
      StackMap stack: int[] int
        14: aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] int
      StackMap stack: int[] int int
        15: iastore
        16: .line 960
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            aload 4 /* classesPerPass */
            arraylength
            if_icmplt 13
        end local 5 // int i
        18: .line 963
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            aload 4 /* classesPerPass */
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.predictPassCount:([I)V
        19: .line 964
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
            astore 5 /* factory */
        start local 5 // edu.umd.cs.findbugs.ba.XFactory factory
        20: .line 965
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 6 /* badClasses */
        start local 6 // java.util.Collection badClasses
        21: .line 966
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection top java.util.Iterator
      StackMap stack:
        22: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 7 /* desc */
        start local 7 // edu.umd.cs.findbugs.classfile.ClassDescriptor desc
        23: .line 968
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/ba/XClass;
            aload 7 /* desc */
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.ba.XClass
            astore 9 /* info */
        start local 9 // edu.umd.cs.findbugs.ba.XClass info
        24: .line 969
            aload 5 /* factory */
            aload 9 /* info */
            invokevirtual edu.umd.cs.findbugs.ba.XFactory.intern:(Ledu/umd/cs/findbugs/ba/XClass;)V
        end local 9 // edu.umd.cs.findbugs.ba.XClass info
        25: .line 970
            goto 33
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
        26: astore 9 /* e */
        start local 9 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        27: .line 971
            new java.lang.StringBuilder
            dup
            ldc "Couldn't get class info for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* e */
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
        28: .line 972
            aload 6 /* badClasses */
            aload 7 /* desc */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
        29: goto 33
        30: .line 973
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* e */
        start local 9 // java.lang.RuntimeException e
        31: .line 974
            new java.lang.StringBuilder
            dup
            ldc "Couldn't get class info for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* e */
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
        32: .line 975
            aload 6 /* badClasses */
            aload 7 /* desc */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.RuntimeException e
        end local 7 // edu.umd.cs.findbugs.classfile.ClassDescriptor desc
        33: .line 966
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        34: .line 978
            aload 6 /* badClasses */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 37
        35: .line 979
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            putfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
        36: .line 980
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            aload 6 /* badClasses */
            invokeinterface java.util.Collection.removeAll:(Ljava/util/Collection;)Z
            pop
        37: .line 983
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 7 /* startTime */
        start local 7 // long startTime
        38: .line 984
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            invokevirtual edu.umd.cs.findbugs.ProjectStats.setReferencedClasses:(I)V
        39: .line 985
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.passIterator:()Ljava/util/Iterator;
            astore 9 /* passIterator */
        start local 9 // java.util.Iterator passIterator
        40: goto 162
        41: .line 986
      StackMap locals: long java.util.Iterator
      StackMap stack:
            aload 9 /* passIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.plan.AnalysisPass
            astore 10 /* pass */
        start local 10 // edu.umd.cs.findbugs.plan.AnalysisPass pass
        42: .line 987
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
            new java.lang.StringBuilder
            dup
            ldc "Pass "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* passCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.log.YourKitController.advanceGeneration:(Ljava/lang/String;)V
        43: .line 990
            iload 3 /* multiplePasses */
            ifeq 44
            iload 1 /* passCount */
            ifne 44
            iconst_1
            goto 45
      StackMap locals: edu.umd.cs.findbugs.plan.AnalysisPass
      StackMap stack:
        44: iconst_0
      StackMap locals:
      StackMap stack: int
        45: istore 11 /* isNonReportingFirstPass */
        start local 11 // boolean isNonReportingFirstPass
        46: .line 993
            aload 10 /* pass */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokevirtual edu.umd.cs.findbugs.plan.AnalysisPass.instantiateDetector2sInPass:(Ledu/umd/cs/findbugs/BugReporter;)[Ledu/umd/cs/findbugs/Detector2;
            astore 12 /* detectorList */
        start local 12 // edu.umd.cs.findbugs.Detector2[] detectorList
        47: .line 1000
            iload 11 /* isNonReportingFirstPass */
            ifeq 48
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
            goto 49
      StackMap locals: int edu.umd.cs.findbugs.Detector2[]
      StackMap stack:
        48: aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.Collection
        49: astore 13 /* classCollection */
        start local 13 // java.util.Collection classCollection
        50: .line 1001
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
            invokevirtual edu.umd.cs.findbugs.ba.XFactory.canonicalizeAll:()V
        51: .line 1002
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifne 52
            getstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
            ifeq 55
        52: .line 1003
      StackMap locals: java.util.Collection
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "%6d : Pass %d: %d classes%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 7 /* startTime */
            lsub
            ldc 1000
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            iload 1 /* passCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 13 /* classCollection */
            invokeinterface java.util.Collection.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        53: .line 1004
            getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
            ifeq 55
        54: .line 1005
            invokestatic edu.umd.cs.findbugs.ba.XFactory.profile:()V
        55: .line 1008
      StackMap locals:
      StackMap stack:
            iload 11 /* isNonReportingFirstPass */
            ifne 58
        56: .line 1009
            new edu.umd.cs.findbugs.FindBugs2$4
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.FindBugs2$4.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
            astore 14 /* outEdges */
        start local 14 // edu.umd.cs.findbugs.util.TopologicalSort$OutEdges outEdges
        57: .line 1024
            aload 0 /* this */
            aload 13 /* classCollection */
            aload 14 /* outEdges */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.sortByCallGraph:(Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
            astore 13 /* classCollection */
        end local 14 // edu.umd.cs.findbugs.util.TopologicalSort$OutEdges outEdges
        58: .line 1026
      StackMap locals:
      StackMap stack:
            getstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
            ifeq 64
        59: .line 1027
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Analysis order:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        60: .line 1028
            aload 13 /* classCollection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 63
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection top java.util.Iterator
      StackMap stack:
        61: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 14 /* c */
        start local 14 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        62: .line 1029
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* c */
            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
        end local 14 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        63: .line 1028
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 61
        64: .line 1032
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection
      StackMap stack:
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            astore 14 /* currentAnalysisContext */
        start local 14 // edu.umd.cs.findbugs.ba.AnalysisContext currentAnalysisContext
        65: .line 1033
            aload 14 /* currentAnalysisContext */
            iload 1 /* passCount */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.updateDatabases:(I)V
        66: .line 1035
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            aload 13 /* classCollection */
            invokeinterface java.util.Collection.size:()I
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.startAnalysis:(I)V
        67: .line 1036
            iconst_0
            istore 15 /* count */
        start local 15 // int count
        68: .line 1037
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.purgeAllMethodAnalysis:()V
        69: .line 1038
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/asm/FBClassReader;
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.purgeClassAnalysis:(Ljava/lang/Class;)V
        70: .line 1039
            aload 13 /* classCollection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 17
            goto 152
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top java.util.Iterator
      StackMap stack:
        71: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 16 /* classDescriptor */
        start local 16 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
        72: .line 1040
            lconst_0
            lstore 18 /* classStartNanoTime */
        start local 18 // long classStartNanoTime
        73: .line 1041
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 79
        74: .line 1042
            invokestatic java.lang.System.nanoTime:()J
            lstore 18 /* classStartNanoTime */
        75: .line 1043
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "%6d %d/%d  %d/%d %s%n"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 7 /* startTime */
            lsub
            ldc 1000
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
        76: .line 1044
            iload 1 /* passCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
            invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 15 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
        77: .line 1045
            aload 13 /* classCollection */
            invokeinterface java.util.Collection.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_5
            aload 16 /* classDescriptor */
            aastore
        78: .line 1043
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        79: .line 1047
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long
      StackMap stack:
            iinc 15 /* count */ 1
        80: .line 1048
            iload 11 /* isNonReportingFirstPass */
            ifne 82
            iload 15 /* count */
            sipush 1000
            irem
            ifne 82
        81: .line 1049
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
            ldc "Pass %d.%02d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* passCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 15 /* count */
            sipush 1000
            idiv
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.log.YourKitController.advanceGeneration:(Ljava/lang/String;)V
        82: .line 1056
      StackMap locals:
      StackMap stack:
            getstatic edu.umd.cs.findbugs.FindBugs2.SCREEN_FIRST_PASS_CLASSES:Z
            ifne 83
            iload 11 /* isNonReportingFirstPass */
            ifne 87
        83: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toResourceName:()Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.IClassScreener.matches:(Ljava/lang/String;)Z
            ifne 87
        84: .line 1058
            getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
            ifeq 152
        85: .line 1059
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "*** Excluded by class screener"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        86: .line 1061
            goto 152
        87: .line 1063
      StackMap locals:
      StackMap stack:
            aload 14 /* currentAnalysisContext */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.isTooBig:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Z
            istore 20 /* isHuge */
        start local 20 // boolean isHuge
        88: .line 1064
            iload 20 /* isHuge */
            ifeq 92
            aload 14 /* currentAnalysisContext */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.isApplicationClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Z
            ifeq 92
        89: .line 1065
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            new edu.umd.cs.findbugs.BugInstance
            dup
            ldc "SKIPPED_CLASS_TOO_BIG"
            iconst_2
            invokespecial edu.umd.cs.findbugs.BugInstance.<init>:(Ljava/lang/String;I)V
        90: .line 1066
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.BugInstance.addClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ledu/umd/cs/findbugs/BugInstance;
        91: .line 1065
            invokeinterface edu.umd.cs.findbugs.BugReporter.reportBug:(Ledu/umd/cs/findbugs/BugInstance;)V
        92: .line 1068
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getClassName:()Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
            putfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
        93: .line 1069
            aload 0 /* this */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.notifyClassObservers:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
        94: .line 1070
            aload 2 /* profiler */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.startContext:(Ljava/lang/Object;)V
        95: .line 1071
            aload 14 /* currentAnalysisContext */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setClassBeingAnalyzed:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
        96: .line 1074
            aload 12 /* detectorList */
            dup
            astore 24
            arraylength
            istore 23
            iconst_0
            istore 22
            goto 124
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top int int edu.umd.cs.findbugs.Detector2[]
      StackMap stack:
        97: aload 24
            iload 22
            aaload
            astore 21 /* detector */
        start local 21 // edu.umd.cs.findbugs.Detector2 detector
        98: .line 1075
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 100
        99: .line 1076
            new java.lang.InterruptedException
            dup
            invokespecial java.lang.InterruptedException.<init>:()V
            athrow
       100: .line 1078
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int edu.umd.cs.findbugs.Detector2 int int edu.umd.cs.findbugs.Detector2[]
      StackMap stack:
            iload 20 /* isHuge */
            ifeq 102
            ldc Ledu/umd/cs/findbugs/FirstPassDetector;
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 102
       101: .line 1079
            goto 123
       102: .line 1081
      StackMap locals:
      StackMap stack:
            getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
            ifeq 104
       103: .line 1082
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Applying "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 21 /* detector */
            invokeinterface edu.umd.cs.findbugs.Detector2.getDetectorClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* classDescriptor */
            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
       104: .line 1088
      StackMap locals:
      StackMap stack:
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
       105: .line 1089
            aload 21 /* detector */
            aload 16 /* classDescriptor */
            invokeinterface edu.umd.cs.findbugs.Detector2.visitClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
       106: .line 1090
            goto 122
      StackMap locals:
      StackMap stack: org.apache.bcel.classfile.ClassFormatException
       107: astore 25 /* e */
        start local 25 // org.apache.bcel.classfile.ClassFormatException e
       108: .line 1091
            aload 0 /* this */
            aload 16 /* classDescriptor */
            aload 21 /* detector */
            aload 25 /* e */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
        end local 25 // org.apache.bcel.classfile.ClassFormatException e
       109: .line 1099
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
            goto 123
       110: .line 1092
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.classfile.MissingClassException
            astore 25 /* e */
        start local 25 // edu.umd.cs.findbugs.classfile.MissingClassException e
       111: .line 1093
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getErrorLogger:()Ledu/umd/cs/findbugs/classfile/IErrorLogger;
            aload 25 /* e */
            invokevirtual edu.umd.cs.findbugs.classfile.MissingClassException.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            invokeinterface edu.umd.cs.findbugs.classfile.IErrorLogger.reportMissingClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
        end local 25 // edu.umd.cs.findbugs.classfile.MissingClassException e
       112: .line 1099
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
            goto 123
       113: .line 1094
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
            astore 25 /* e */
        start local 25 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
       114: .line 1095
            aload 0 /* this */
            aload 16 /* classDescriptor */
            aload 21 /* detector */
            aload 25 /* e */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
        end local 25 // edu.umd.cs.findbugs.classfile.CheckedAnalysisException e
       115: .line 1099
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
            goto 123
       116: .line 1096
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 25 /* e */
        start local 25 // java.lang.RuntimeException e
       117: .line 1097
            aload 0 /* this */
            aload 16 /* classDescriptor */
            aload 21 /* detector */
            aload 25 /* e */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
        end local 25 // java.lang.RuntimeException e
       118: .line 1099
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
            goto 123
       119: .line 1098
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 26
       120: .line 1099
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
       121: .line 1100
            aload 26
            athrow
       122: .line 1099
      StackMap locals:
      StackMap stack:
            aload 2 /* profiler */
            aload 21 /* detector */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
        end local 21 // edu.umd.cs.findbugs.Detector2 detector
       123: .line 1074
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top int int edu.umd.cs.findbugs.Detector2[]
      StackMap stack:
            iinc 22 1
      StackMap locals:
      StackMap stack:
       124: iload 22
            iload 23
            if_icmplt 97
       125: .line 1102
            goto 140
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int
      StackMap stack: java.lang.Throwable
       126: astore 27
       127: .line 1104
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishClass:()V
       128: .line 1105
            aload 2 /* profiler */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.endContext:(Ljava/lang/Object;)V
       129: .line 1106
            aload 14 /* currentAnalysisContext */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearClassBeingAnalyzed:()V
       130: .line 1107
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 139
       131: .line 1108
            invokestatic java.lang.System.nanoTime:()J
            lload 18 /* classStartNanoTime */
            lsub
            ldc 1000
            ldiv
            lstore 28 /* usecs */
        start local 28 // long usecs
       132: .line 1109
            lload 28 /* usecs */
            ldc 15000
            lcmp
            ifle 139
       133: .line 1110
            aload 14 /* currentAnalysisContext */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getClassSize:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
            istore 30 /* classSize */
        start local 30 // int classSize
       134: .line 1111
            lload 28 /* usecs */
            iload 30 /* classSize */
            i2l
            ldiv
            lstore 31 /* speed */
        start local 31 // long speed
       135: .line 1112
            lload 31 /* speed */
            ldc 15
            lcmp
            ifle 139
       136: .line 1113
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  %6d usecs/byte  %6d msec  %6d bytes  %d pass %s%n"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            lload 31 /* speed */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 28 /* usecs */
            ldc 1000
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 30 /* classSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 1 /* passCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
       137: .line 1114
            aload 16 /* classDescriptor */
            aastore
       138: .line 1113
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 31 // long speed
        end local 30 // int classSize
        end local 28 // long usecs
       139: .line 1119
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top top top top top top java.lang.Throwable
      StackMap stack:
            aload 27
            athrow
       140: .line 1104
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishClass:()V
       141: .line 1105
            aload 2 /* profiler */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.endContext:(Ljava/lang/Object;)V
       142: .line 1106
            aload 14 /* currentAnalysisContext */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearClassBeingAnalyzed:()V
       143: .line 1107
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 152
       144: .line 1108
            invokestatic java.lang.System.nanoTime:()J
            lload 18 /* classStartNanoTime */
            lsub
            ldc 1000
            ldiv
            lstore 28 /* usecs */
        start local 28 // long usecs
       145: .line 1109
            lload 28 /* usecs */
            ldc 15000
            lcmp
            ifle 152
       146: .line 1110
            aload 14 /* currentAnalysisContext */
            aload 16 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getClassSize:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
            istore 30 /* classSize */
        start local 30 // int classSize
       147: .line 1111
            lload 28 /* usecs */
            iload 30 /* classSize */
            i2l
            ldiv
            lstore 31 /* speed */
        start local 31 // long speed
       148: .line 1112
            lload 31 /* speed */
            ldc 15
            lcmp
            ifle 152
       149: .line 1113
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  %6d usecs/byte  %6d msec  %6d bytes  %d pass %s%n"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            lload 31 /* speed */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 28 /* usecs */
            ldc 1000
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 30 /* classSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 1 /* passCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
       150: .line 1114
            aload 16 /* classDescriptor */
            aastore
       151: .line 1113
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 31 // long speed
        end local 30 // int classSize
        end local 28 // long usecs
        end local 20 // boolean isHuge
        end local 18 // long classStartNanoTime
        end local 16 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
       152: .line 1039
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
       153: .line 1122
            aload 9 /* passIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 155
       154: .line 1123
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
            invokevirtual edu.umd.cs.findbugs.log.YourKitController.captureMemorySnapshot:()V
       155: .line 1126
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int
      StackMap stack:
            aload 12 /* detectorList */
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 159
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top int int edu.umd.cs.findbugs.Detector2[]
      StackMap stack:
       156: aload 19
            iload 17
            aaload
            astore 16 /* detector */
        start local 16 // edu.umd.cs.findbugs.Detector2 detector
       157: .line 1127
            aload 16 /* detector */
            invokeinterface edu.umd.cs.findbugs.Detector2.finishPass:()V
        end local 16 // edu.umd.cs.findbugs.Detector2 detector
       158: .line 1126
            iinc 17 1
      StackMap locals:
      StackMap stack:
       159: iload 17
            iload 18
            if_icmplt 156
       160: .line 1130
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
            invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishPerClassAnalysis:()V
       161: .line 1132
            iinc 1 /* passCount */ 1
        end local 15 // int count
        end local 14 // edu.umd.cs.findbugs.ba.AnalysisContext currentAnalysisContext
        end local 13 // java.util.Collection classCollection
        end local 12 // edu.umd.cs.findbugs.Detector2[] detectorList
        end local 11 // boolean isNonReportingFirstPass
        end local 10 // edu.umd.cs.findbugs.plan.AnalysisPass pass
       162: .line 985
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator
      StackMap stack:
            aload 9 /* passIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        end local 9 // java.util.Iterator passIterator
        end local 7 // long startTime
        end local 6 // java.util.Collection badClasses
        end local 5 // edu.umd.cs.findbugs.ba.XFactory factory
        end local 4 // int[] classesPerPass
        end local 3 // boolean multiplePasses
       163: .line 1136
            goto 171
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler
      StackMap stack: java.lang.Throwable
       164: astore 33
       165: .line 1138
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.finish:()V
       166: .line 1139
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
       167: .line 1140
            aload 2 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
       168: .line 1141
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 170
       169: .line 1142
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Analysis completed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       170: .line 1144
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 33
            athrow
       171: .line 1138
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.finish:()V
       172: .line 1139
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
       173: .line 1140
            aload 2 /* profiler */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
       174: .line 1141
            getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
            ifeq 176
       175: .line 1142
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Analysis completed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       176: .line 1146
      StackMap locals:
      StackMap stack:
            return
        end local 2 // edu.umd.cs.findbugs.log.Profiler profiler
        end local 1 // int passCount
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  177     0                     this  Ledu/umd/cs/findbugs/FindBugs2;
            1  177     1                passCount  I
            2  177     2                 profiler  Ledu/umd/cs/findbugs/log/Profiler;
            7  163     3           multiplePasses  Z
           10  163     4           classesPerPass  [I
           12   18     5                        i  I
           20  163     5                  factory  Ledu/umd/cs/findbugs/ba/XFactory;
           21  163     6               badClasses  Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           23   33     7                     desc  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           24   25     9                     info  Ledu/umd/cs/findbugs/ba/XClass;
           27   29     9                        e  Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
           31   33     9                        e  Ljava/lang/RuntimeException;
           38  163     7                startTime  J
           40  163     9             passIterator  Ljava/util/Iterator<Ledu/umd/cs/findbugs/plan/AnalysisPass;>;
           42  162    10                     pass  Ledu/umd/cs/findbugs/plan/AnalysisPass;
           46  162    11  isNonReportingFirstPass  Z
           47  162    12             detectorList  [Ledu/umd/cs/findbugs/Detector2;
           50  162    13          classCollection  Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           57   58    14                 outEdges  Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           62   63    14                        c  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           65  162    14   currentAnalysisContext  Ledu/umd/cs/findbugs/ba/AnalysisContext;
           68  162    15                    count  I
           72  152    16          classDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           73  152    18       classStartNanoTime  J
           88  152    20                   isHuge  Z
           98  123    21                 detector  Ledu/umd/cs/findbugs/Detector2;
          108  109    25                        e  Lorg/apache/bcel/classfile/ClassFormatException;
          111  112    25                        e  Ledu/umd/cs/findbugs/classfile/MissingClassException;
          114  115    25                        e  Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
          117  118    25                        e  Ljava/lang/RuntimeException;
          132  139    28                    usecs  J
          145  152    28                    usecs  J
          134  139    30                classSize  I
          147  152    30                classSize  I
          135  139    31                    speed  J
          148  152    31                    speed  J
          157  158    16                 detector  Ledu/umd/cs/findbugs/Detector2;
      Exception table:
        from    to  target  type
          23    25      26  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
          23    25      30  Class java.lang.RuntimeException
         104   106     107  Class org.apache.bcel.classfile.ClassFormatException
         104   106     110  Class edu.umd.cs.findbugs.classfile.MissingClassException
         104   106     113  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
         104   106     116  Class java.lang.RuntimeException
         104   109     119  any
         110   112     119  any
         113   115     119  any
         116   118     119  any
          96   126     126  any
           4   164     164  any
    Exceptions:
      throws java.lang.InterruptedException

  private void notifyClassObservers(edu.umd.cs.findbugs.classfile.ClassDescriptor);
    descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
         0: .line 1155
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.ClassDescriptor top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.IClassObserver
            astore 2 /* observer */
        start local 2 // edu.umd.cs.findbugs.classfile.IClassObserver observer
         2: .line 1156
            aload 2 /* observer */
            aload 1 /* classDescriptor */
            invokeinterface edu.umd.cs.findbugs.classfile.IClassObserver.observeClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
        end local 2 // edu.umd.cs.findbugs.classfile.IClassObserver observer
         3: .line 1155
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1158
            return
        end local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ledu/umd/cs/findbugs/FindBugs2;
            0    5     1  classDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            2    3     2         observer  Ledu/umd/cs/findbugs/classfile/IClassObserver;
    MethodParameters:
                 Name  Flags
      classDescriptor  

  private void logRecoverableException(edu.umd.cs.findbugs.classfile.ClassDescriptor, edu.umd.cs.findbugs.Detector2, java.lang.Throwable);
    descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
        start local 2 // edu.umd.cs.findbugs.Detector2 detector
        start local 3 // java.lang.Throwable e
         0: .line 1172
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
         1: .line 1173
            new java.lang.StringBuilder
            dup
            ldc "Exception analyzing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " using detector "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1174
            aload 2 /* detector */
            invokeinterface edu.umd.cs.findbugs.Detector2.getDetectorClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1173
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1174
            aload 3 /* e */
         5: .line 1172
            invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 1175
            return
        end local 3 // java.lang.Throwable e
        end local 2 // edu.umd.cs.findbugs.Detector2 detector
        end local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Ledu/umd/cs/findbugs/FindBugs2;
            0    7     1  classDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            0    7     2         detector  Ledu/umd/cs/findbugs/Detector2;
            0    7     3                e  Ljava/lang/Throwable;
    MethodParameters:
                 Name  Flags
      classDescriptor  
      detector         
      e                

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 1179
            invokestatic edu.umd.cs.findbugs.CheckBcel.check:()Z
            ifne 2
         1: .line 1180
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         2: .line 1184
      StackMap locals:
      StackMap stack:
            new edu.umd.cs.findbugs.FindBugs2
            dup
            invokespecial edu.umd.cs.findbugs.FindBugs2.<init>:()V
            astore 1 /* findBugs */
        start local 1 // edu.umd.cs.findbugs.FindBugs2 findBugs
         3: .line 1187
            new edu.umd.cs.findbugs.TextUICommandLine
            dup
            invokespecial edu.umd.cs.findbugs.TextUICommandLine.<init>:()V
            astore 2 /* commandLine */
        start local 2 // edu.umd.cs.findbugs.TextUICommandLine commandLine
         4: .line 1188
            aload 2 /* commandLine */
            aload 0 /* args */
            aload 1 /* findBugs */
            invokestatic edu.umd.cs.findbugs.FindBugs.processCommandLine:(Ledu/umd/cs/findbugs/TextUICommandLine;[Ljava/lang/String;Ledu/umd/cs/findbugs/IFindBugsEngine;)V
         5: .line 1191
            aload 2 /* commandLine */
            invokevirtual edu.umd.cs.findbugs.TextUICommandLine.justPrintConfiguration:()Z
            istore 3 /* justPrintConfiguration */
        start local 3 // boolean justPrintConfiguration
         6: .line 1192
            iload 3 /* justPrintConfiguration */
            ifne 7
            aload 2 /* commandLine */
            invokevirtual edu.umd.cs.findbugs.TextUICommandLine.justPrintVersion:()Z
            ifeq 9
         7: .line 1193
      StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.TextUICommandLine int
      StackMap stack:
            iload 3 /* justPrintConfiguration */
            invokestatic edu.umd.cs.findbugs.Version.printVersion:(Z)V
         8: .line 1195
            return
         9: .line 1200
      StackMap locals:
      StackMap stack:
            aload 1 /* findBugs */
            aload 2 /* commandLine */
            invokestatic edu.umd.cs.findbugs.FindBugs.runMain:(Ledu/umd/cs/findbugs/IFindBugsEngine;Ledu/umd/cs/findbugs/TextUICommandLine;)V
        10: .line 1202
            return
        end local 3 // boolean justPrintConfiguration
        end local 2 // edu.umd.cs.findbugs.TextUICommandLine commandLine
        end local 1 // edu.umd.cs.findbugs.FindBugs2 findBugs
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    args  [Ljava/lang/String;
            3   11     1                findBugs  Ledu/umd/cs/findbugs/FindBugs2;
            4   11     2             commandLine  Ledu/umd/cs/findbugs/TextUICommandLine;
            6   11     3  justPrintConfiguration  Z
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  public void setAbridgedMessages(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean xmlWithAbridgedMessages
         0: .line 1207
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* xmlWithAbridgedMessages */
            putfield edu.umd.cs.findbugs.AnalysisOptions.abridgedMessages:Z
         1: .line 1208
            return
        end local 1 // boolean xmlWithAbridgedMessages
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  xmlWithAbridgedMessages  Z
    MethodParameters:
                         Name  Flags
      xmlWithAbridgedMessages  

  public void setMergeSimilarWarnings(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean mergeSimilarWarnings
         0: .line 1212
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* mergeSimilarWarnings */
            putfield edu.umd.cs.findbugs.AnalysisOptions.mergeSimilarWarnings:Z
         1: .line 1213
            return
        end local 1 // boolean mergeSimilarWarnings
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  mergeSimilarWarnings  Z
    MethodParameters:
                      Name  Flags
      mergeSimilarWarnings  

  public void setApplySuppression(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // boolean applySuppression
         0: .line 1217
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            iload 1 /* applySuppression */
            putfield edu.umd.cs.findbugs.AnalysisOptions.applySuppression:Z
         1: .line 1218
            return
        end local 1 // boolean applySuppression
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  applySuppression  Z
    MethodParameters:
                  Name  Flags
      applySuppression  

  public void setRankThreshold(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // int rankThreshold
         0: .line 1222
            aload 0 /* this */
            iload 1 /* rankThreshold */
            putfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
         1: .line 1223
            return
        end local 1 // int rankThreshold
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ledu/umd/cs/findbugs/FindBugs2;
            0    2     1  rankThreshold  I
    MethodParameters:
               Name  Flags
      rankThreshold  

  public void finishSettings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
         0: .line 1227
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
            getfield edu.umd.cs.findbugs.AnalysisOptions.applySuppression:Z
            ifeq 2
         1: .line 1228
            aload 0 /* this */
            new edu.umd.cs.findbugs.FilterBugReporter
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.FindBugs2.getProject:()Ledu/umd/cs/findbugs/Project;
            invokevirtual edu.umd.cs.findbugs.Project.getSuppressionFilter:()Ledu/umd/cs/findbugs/filter/Filter;
            iconst_0
            invokespecial edu.umd.cs.findbugs.FilterBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;Ledu/umd/cs/findbugs/filter/Matcher;Z)V
            putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
         2: .line 1230
      StackMap locals:
      StackMap stack:
            return
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/FindBugs2;

  public void setBugReporterDecorators(java.util.Set<java.lang.String>, java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.FindBugs2 this
        start local 1 // java.util.Set explicitlyEnabled
        start local 2 // java.util.Set explicitlyDisabled
         0: .line 1240
            aload 0 /* this */
            aload 1 /* explicitlyEnabled */
            putfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
         1: .line 1241
            aload 0 /* this */
            aload 2 /* explicitlyDisabled */
            putfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
         2: .line 1242
            return
        end local 2 // java.util.Set explicitlyDisabled
        end local 1 // java.util.Set explicitlyEnabled
        end local 0 // edu.umd.cs.findbugs.FindBugs2 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Ledu/umd/cs/findbugs/FindBugs2;
            0    3     1   explicitlyEnabled  Ljava/util/Set<Ljava/lang/String;>;
            0    3     2  explicitlyDisabled  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      explicitlyEnabled   
      explicitlyDisabled  
}
SourceFile: "FindBugs2.java"
NestMembers:
  edu.umd.cs.findbugs.FindBugs2$1  edu.umd.cs.findbugs.FindBugs2$2  edu.umd.cs.findbugs.FindBugs2$3  edu.umd.cs.findbugs.FindBugs2$4
InnerClasses:
  edu.umd.cs.findbugs.FindBugs2$1
  edu.umd.cs.findbugs.FindBugs2$2
  edu.umd.cs.findbugs.FindBugs2$3
  edu.umd.cs.findbugs.FindBugs2$4
  public abstract OutEdges = edu.umd.cs.findbugs.util.TopologicalSort$OutEdges of edu.umd.cs.findbugs.util.TopologicalSort
  public abstract Entry = java.util.Map$Entry of java.util.Map