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

  private final java.util.List<java.io.File> currentWorkingDirectoryList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/io/File;>;

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

  private java.util.List<java.lang.String> analysisTargets;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.List<java.lang.String> srcDirList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.List<java.lang.String> auxClasspathEntryList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private boolean isModified;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private edu.umd.cs.findbugs.config.UserPreferences configuration;
    descriptor: Ledu/umd/cs/findbugs/config/UserPreferences;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, java.lang.Boolean> enabledPlugins;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;

  private java.util.Properties cloudProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.String UNNAMED_PROJECT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<<unnamed project>>"

  private long timestampForAnalyzedClasses;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private edu.umd.cs.findbugs.filter.Filter suppressionFilter;
    descriptor: Ledu/umd/cs/findbugs/filter/Filter;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()

  private edu.umd.cs.findbugs.ba.SourceFinder sourceFinder;
    descriptor: Ledu/umd/cs/findbugs/ba/SourceFinder;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String OPTIONS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[Options]"

  private static final java.lang.String JAR_FILES_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[Jar files]"

  private static final java.lang.String SRC_DIRS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[Source dirs]"

  private static final java.lang.String AUX_CLASSPATH_ENTRIES_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[Aux classpath entries]"

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

  static final java.lang.String JAR_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Jar"

  static final java.lang.String AUX_CLASSPATH_ENTRY_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "AuxClasspathEntry"

  static final java.lang.String SRC_DIR_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "SrcDir"

  static final java.lang.String WRK_DIR_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "WrkDir"

  static final java.lang.String FILENAME_ATTRIBUTE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "filename"

  static final java.lang.String PROJECTNAME_ATTRIBUTE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "projectName"

  static final java.lang.String CLOUD_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Cloud"

  static final java.lang.String CLOUD_ID_ATTRIBUTE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "id"

  static final java.lang.String CLOUD_PROPERTY_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Property"

  static final java.lang.String PLUGIN_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Plugin"

  static final java.lang.String PLUGIN_ID_ATTRIBUTE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "id"

  static final java.lang.String PLUGIN_STATUS_ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "enabled"

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 90
            ldc "findbugs.project.debug"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
            putstatic edu.umd.cs.findbugs.Project.DEBUG:Z
         1: .line 917
            ldc "os.name"
            ldc "unknown"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putstatic edu.umd.cs.findbugs.Project.FILE_IGNORE_CASE:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Boolean getPluginStatus(edu.umd.cs.findbugs.Plugin);
    descriptor: (Ledu/umd/cs/findbugs/Plugin;)Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // edu.umd.cs.findbugs.Plugin plugin
         0: .line 125
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.enabledPlugins:Ljava/util/Map;
            aload 1 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            areturn
        end local 1 // edu.umd.cs.findbugs.Plugin plugin
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ledu/umd/cs/findbugs/Project;
            0    1     1  plugin  Ledu/umd/cs/findbugs/Plugin;
    RuntimeVisibleAnnotations: 
      javax.annotation.CheckForNull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.CheckForNull()
    MethodParameters:
        Name  Flags
      plugin  

  public void setPluginStatusTrinary(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String pluginId
        start local 2 // java.lang.Boolean enabled
         0: .line 129
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.enabledPlugins:Ljava/util/Map;
            aload 1 /* pluginId */
            aload 2 /* enabled */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 130
            return
        end local 2 // java.lang.Boolean enabled
        end local 1 // java.lang.String pluginId
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ledu/umd/cs/findbugs/Project;
            0    2     1  pluginId  Ljava/lang/String;
            0    2     2   enabled  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      pluginId  
      enabled   

  public edu.umd.cs.findbugs.config.UserPreferences getConfiguration();
    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.Project this
         0: .line 133
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.configuration:Ledu/umd/cs/findbugs/config/UserPreferences;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public void setConfiguration(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.Project this
        start local 1 // edu.umd.cs.findbugs.config.UserPreferences configuration
         0: .line 140
            aload 1 /* configuration */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 141
            aload 0 /* this */
            aload 1 /* configuration */
            putfield edu.umd.cs.findbugs.Project.configuration:Ledu/umd/cs/findbugs/config/UserPreferences;
         2: .line 142
            return
        end local 1 // edu.umd.cs.findbugs.config.UserPreferences configuration
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ledu/umd/cs/findbugs/Project;
            0    3     1  configuration  Ledu/umd/cs/findbugs/config/UserPreferences;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
    MethodParameters:
               Name  Flags
      configuration  

  public java.lang.String getCloudId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 145
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudId:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
    RuntimeVisibleAnnotations: 
      javax.annotation.CheckForNull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.CheckForNull()

  public void setCloudId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String cloudId
         0: .line 149
            aload 1 /* cloudId */
            ifnull 13
            aload 1 /* cloudId */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 13
         1: .line 150
            invokestatic edu.umd.cs.findbugs.DetectorFactoryCollection.instance:()Ledu/umd/cs/findbugs/DetectorFactoryCollection;
            invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.getRegisteredClouds:()Ljava/util/Map;
            astore 2 /* registeredClouds */
        start local 2 // java.util.Map registeredClouds
         2: .line 151
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cloudId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* check */
        start local 3 // java.lang.String check
         3: .line 152
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: .line 153
            aload 1 /* cloudId */
            astore 5 /* result */
        start local 5 // java.lang.String result
         5: .line 154
            aload 2 /* registeredClouds */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.util.Map java.lang.String int java.lang.String top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         7: .line 155
            aload 6 /* name */
            aload 3 /* check */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 156
            iinc 4 /* count */ 1
         9: .line 157
            aload 6 /* name */
            astore 5 /* result */
        end local 6 // java.lang.String name
        10: .line 154
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 160
            iload 4 /* count */
            iconst_1
            if_icmpne 13
        12: .line 161
            aload 5 /* result */
            astore 1 /* cloudId */
        end local 5 // java.lang.String result
        end local 4 // int count
        end local 3 // java.lang.String check
        end local 2 // java.util.Map registeredClouds
        13: .line 164
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cloudId */
            putfield edu.umd.cs.findbugs.Project.cloudId:Ljava/lang/String;
        14: .line 165
            return
        end local 1 // java.lang.String cloudId
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Ledu/umd/cs/findbugs/Project;
            0   15     1           cloudId  Ljava/lang/String;
            2   13     2  registeredClouds  Ljava/util/Map<Ljava/lang/String;Ledu/umd/cs/findbugs/cloud/CloudPlugin;>;
            3   13     3             check  Ljava/lang/String;
            4   13     4             count  I
            5   13     5            result  Ljava/lang/String;
            7   10     6              name  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
    MethodParameters:
         Name  Flags
      cloudId  

  public java.util.Properties getCloudProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 173
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public void setCloudProperties(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.util.Properties cloudProperties
         0: .line 181
            aload 0 /* this */
            aload 1 /* cloudProperties */
            putfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
         1: .line 182
            return
        end local 1 // java.util.Properties cloudProperties
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ledu/umd/cs/findbugs/Project;
            0    2     1  cloudProperties  Ljava/util/Properties;
    MethodParameters:
                 Name  Flags
      cloudProperties  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 201
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 167
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
         2: .line 189
            aload 0 /* this */
            lconst_0
            putfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
         3: .line 194
            aload 0 /* this */
            new edu.umd.cs.findbugs.filter.Filter
            dup
            invokespecial edu.umd.cs.findbugs.filter.Filter.<init>:()V
            putfield edu.umd.cs.findbugs.Project.suppressionFilter:Ledu/umd/cs/findbugs/filter/Filter;
         4: .line 202
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield edu.umd.cs.findbugs.Project.enabledPlugins:Ljava/util/Map;
         5: .line 203
            aload 0 /* this */
            invokestatic edu.umd.cs.findbugs.config.UserPreferences.createDefaultUserPreferences:()Ledu/umd/cs/findbugs/config/UserPreferences;
            putfield edu.umd.cs.findbugs.Project.configuration:Ledu/umd/cs/findbugs/config/UserPreferences;
         6: .line 204
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
         7: .line 205
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
         8: .line 206
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
         9: .line 207
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.Project.isModified:Z
        10: .line 208
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
        11: .line 209
            return
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ledu/umd/cs/findbugs/Project;

  public edu.umd.cs.findbugs.Project duplicate();
    descriptor: ()Ledu/umd/cs/findbugs/Project;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 215
            new edu.umd.cs.findbugs.Project
            dup
            invokespecial edu.umd.cs.findbugs.Project.<init>:()V
            astore 1 /* dup */
        start local 1 // edu.umd.cs.findbugs.Project dup
         1: .line 216
            aload 1 /* dup */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 217
            aload 1 /* dup */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
            putfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
         3: .line 218
            aload 1 /* dup */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 219
            aload 1 /* dup */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 220
            aload 1 /* dup */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 221
            aload 1 /* dup */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
            putfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
         7: .line 222
            aload 1 /* dup */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
            putfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
         8: .line 223
            aload 1 /* dup */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudId:Ljava/lang/String;
            putfield edu.umd.cs.findbugs.Project.cloudId:Ljava/lang/String;
         9: .line 224
            aload 1 /* dup */
            getfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        10: .line 225
            aload 1 /* dup */
            areturn
        end local 1 // edu.umd.cs.findbugs.Project dup
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ledu/umd/cs/findbugs/Project;
            1   11     1   dup  Ledu/umd/cs/findbugs/Project;

  public edu.umd.cs.findbugs.ba.SourceFinder getSourceFinder();
    descriptor: ()Ledu/umd/cs/findbugs/ba/SourceFinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 229
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.sourceFinder:Ledu/umd/cs/findbugs/ba/SourceFinder;
            ifnonnull 2
         1: .line 230
            aload 0 /* this */
            new edu.umd.cs.findbugs.ba.SourceFinder
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.ba.SourceFinder.<init>:(Ledu/umd/cs/findbugs/Project;)V
            putfield edu.umd.cs.findbugs.Project.sourceFinder:Ledu/umd/cs/findbugs/ba/SourceFinder;
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.sourceFinder:Ledu/umd/cs/findbugs/ba/SourceFinder;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;

  public boolean isGuiAvaliable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 236
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/Project;

  public void add(edu.umd.cs.findbugs.Project);
    descriptor: (Ledu/umd/cs/findbugs/Project;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // edu.umd.cs.findbugs.Project project2
         0: .line 243
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            aload 1 /* project2 */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.Project.appendWithoutDuplicates:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            putfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
         1: .line 244
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            aload 1 /* project2 */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.Project.appendWithoutDuplicates:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            putfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
         2: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            aload 1 /* project2 */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.Project.appendWithoutDuplicates:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            putfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
         3: .line 246
            return
        end local 1 // edu.umd.cs.findbugs.Project project2
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ledu/umd/cs/findbugs/Project;
            0    4     1  project2  Ledu/umd/cs/findbugs/Project;
    MethodParameters:
          Name  Flags
      project2  

  public static <T> java.util.List<T> appendWithoutDuplicates(java.util.List<T>, java.util.List<T>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List lst1
        start local 1 // java.util.List lst2
         0: .line 249
            new java.util.LinkedHashSet
            dup
            aload 0 /* lst1 */
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* joined */
        start local 2 // java.util.LinkedHashSet joined
         1: .line 250
            aload 2 /* joined */
            aload 1 /* lst2 */
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 251
            new java.util.ArrayList
            dup
            aload 2 /* joined */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.LinkedHashSet joined
        end local 1 // java.util.List lst2
        end local 0 // java.util.List lst1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    lst1  Ljava/util/List<TT;>;
            0    3     1    lst2  Ljava/util/List<TT;>;
            1    3     2  joined  Ljava/util/LinkedHashSet<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      lst1  
      lst2  

  public void setCurrentWorkingDirectory(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.io.File f
         0: .line 256
            aload 1 /* f */
            ifnull 2
         1: .line 257
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.Project.addWorkingDir:(Ljava/lang/String;)Z
            pop
         2: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File f
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;
            0    3     1     f  Ljava/io/File;
    MethodParameters:
      Name  Flags
      f     

  public boolean isModified();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 265
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.isModified:Z
            ireturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public void setModified(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // boolean isModified
         0: .line 272
            aload 0 /* this */
            iload 1 /* isModified */
            putfield edu.umd.cs.findbugs.Project.isModified:Z
         1: .line 273
            return
        end local 1 // boolean isModified
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ledu/umd/cs/findbugs/Project;
            0    2     1  isModified  Z
    MethodParameters:
            Name  Flags
      isModified  

  public boolean addFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String fileName
         0: .line 284
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            aload 0 /* this */
            aload 1 /* fileName */
            invokevirtual edu.umd.cs.findbugs.Project.makeAbsoluteCWD:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.Project.addToListInternal:(Ljava/util/Collection;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String fileName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ledu/umd/cs/findbugs/Project;
            0    1     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public boolean addSourceDir(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String dirName
         0: .line 296
            iconst_0
            istore 2 /* isNew */
        start local 2 // boolean isNew
         1: .line 297
            aload 0 /* this */
            aload 1 /* dirName */
            invokevirtual edu.umd.cs.findbugs.Project.makeAbsoluteCwdCandidates:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* dir */
        start local 3 // java.lang.String dir
         3: .line 298
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            aload 3 /* dir */
            invokevirtual edu.umd.cs.findbugs.Project.addToListInternal:(Ljava/util/Collection;Ljava/lang/Object;)Z
            ifne 4
            iload 2 /* isNew */
            ifne 4
            iconst_0
            goto 5
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.util.Iterator
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* isNew */
        end local 3 // java.lang.String dir
         6: .line 297
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 300
            aload 0 /* this */
            new edu.umd.cs.findbugs.ba.SourceFinder
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.ba.SourceFinder.<init>:(Ledu/umd/cs/findbugs/Project;)V
            putfield edu.umd.cs.findbugs.Project.sourceFinder:Ledu/umd/cs/findbugs/ba/SourceFinder;
         8: .line 301
            iload 2 /* isNew */
            ireturn
        end local 2 // boolean isNew
        end local 1 // java.lang.String dirName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ledu/umd/cs/findbugs/Project;
            0    9     1  dirName  Ljava/lang/String;
            1    9     2    isNew  Z
            3    6     3      dir  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      dirName  

  public boolean addWorkingDir(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String dirName
         0: .line 313
            aload 1 /* dirName */
            ifnonnull 2
         1: .line 314
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            new java.io.File
            dup
            aload 1 /* dirName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual edu.umd.cs.findbugs.Project.addToListInternal:(Ljava/util/Collection;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String dirName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ledu/umd/cs/findbugs/Project;
            0    3     1  dirName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      dirName  

  public int getFileCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 325
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public java.lang.String getFile(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int num
         0: .line 336
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            iload 1 /* num */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int num
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
            0    1     1   num  I
    MethodParameters:
      Name  Flags
      num   

  public void removeFile(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int num
         0: .line 346
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            iload 1 /* num */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         1: .line 347
            aload 0 /* this */
            iconst_1
            putfield edu.umd.cs.findbugs.Project.isModified:Z
         2: .line 348
            return
        end local 1 // int num
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;
            0    3     1   num  I
    MethodParameters:
      Name  Flags
      num   

  public java.util.List<java.lang.String> getFileList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 354
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public int getNumSourceDirs();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 363
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public java.lang.String getSourceDir(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int num
         0: .line 374
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            iload 1 /* num */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int num
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
            0    1     1   num  I
    MethodParameters:
      Name  Flags
      num   

  public void removeSourceDir(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int num
         0: .line 384
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            iload 1 /* num */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         1: .line 385
            aload 0 /* this */
            new edu.umd.cs.findbugs.ba.SourceFinder
            dup
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.ba.SourceFinder.<init>:(Ledu/umd/cs/findbugs/Project;)V
            putfield edu.umd.cs.findbugs.Project.sourceFinder:Ledu/umd/cs/findbugs/ba/SourceFinder;
         2: .line 386
            aload 0 /* this */
            iconst_1
            putfield edu.umd.cs.findbugs.Project.isModified:Z
         3: .line 387
            return
        end local 1 // int num
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ledu/umd/cs/findbugs/Project;
            0    4     1   num  I
    MethodParameters:
      Name  Flags
      num   

  public java.lang.String[] getFileArray();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 393
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public java.lang.String[] getSourceDirArray();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 400
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public java.util.List<java.lang.String> getSourceDirList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 407
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public boolean addAuxClasspathEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String auxClasspathEntry
         0: .line 419
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            aload 0 /* this */
            aload 1 /* auxClasspathEntry */
            invokevirtual edu.umd.cs.findbugs.Project.makeAbsoluteCWD:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.Project.addToListInternal:(Ljava/util/Collection;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String auxClasspathEntry
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Ledu/umd/cs/findbugs/Project;
            0    1     1  auxClasspathEntry  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      auxClasspathEntry  

  public int getNumAuxClasspathEntries();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 426
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public java.lang.String getAuxClasspathEntry(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int n
         0: .line 433
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            iload 1 /* n */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int n
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
            0    1     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public void removeAuxClasspathEntry(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // int n
         0: .line 440
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            iload 1 /* n */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         1: .line 441
            aload 0 /* this */
            iconst_1
            putfield edu.umd.cs.findbugs.Project.isModified:Z
         2: .line 442
            return
        end local 1 // int n
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public java.util.List<java.lang.String> getAuxClasspathEntryList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 448
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getImplicitClasspathEntryList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 561
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* implicitClasspath */
        start local 1 // java.util.LinkedList implicitClasspath
         1: .line 562
            new edu.umd.cs.findbugs.Project$WorkList
            dup
            invokespecial edu.umd.cs.findbugs.Project$WorkList.<init>:()V
            astore 2 /* workList */
        start local 2 // edu.umd.cs.findbugs.Project$WorkList workList
         2: .line 566
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: edu.umd.cs.findbugs.Project java.util.LinkedList edu.umd.cs.findbugs.Project$WorkList top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         4: .line 568
            aload 2 /* workList */
            aload 3 /* fileName */
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.createURL:(Ljava/lang/String;)Ljava/net/URL;
            astore 5 /* url */
        start local 5 // java.net.URL url
         5: .line 569
            new edu.umd.cs.findbugs.Project$WorkListItem
            dup
            aload 5 /* url */
            invokespecial edu.umd.cs.findbugs.Project$WorkListItem.<init>:(Ljava/net/URL;)V
            astore 6 /* item */
        start local 6 // edu.umd.cs.findbugs.Project$WorkListItem item
         6: .line 570
            aload 2 /* workList */
            aload 6 /* item */
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.add:(Ledu/umd/cs/findbugs/Project$WorkListItem;)Z
            pop
        end local 6 // edu.umd.cs.findbugs.Project$WorkListItem item
        end local 5 // java.net.URL url
         7: .line 571
            goto 9
      StackMap locals: edu.umd.cs.findbugs.Project java.util.LinkedList edu.umd.cs.findbugs.Project$WorkList java.lang.String java.util.Iterator
      StackMap stack: java.net.MalformedURLException
         8: pop
        end local 3 // java.lang.String fileName
         9: .line 566
      StackMap locals: edu.umd.cs.findbugs.Project java.util.LinkedList edu.umd.cs.findbugs.Project$WorkList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 577
            goto 13
        11: .line 578
      StackMap locals: edu.umd.cs.findbugs.Project java.util.LinkedList edu.umd.cs.findbugs.Project$WorkList
      StackMap stack:
            aload 2 /* workList */
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.getNextItem:()Ledu/umd/cs/findbugs/Project$WorkListItem;
            astore 3 /* item */
        start local 3 // edu.umd.cs.findbugs.Project$WorkListItem item
        12: .line 579
            aload 0 /* this */
            aload 3 /* item */
            invokevirtual edu.umd.cs.findbugs.Project$WorkListItem.getURL:()Ljava/net/URL;
            aload 2 /* workList */
            aload 1 /* implicitClasspath */
            invokevirtual edu.umd.cs.findbugs.Project.processComponentJar:(Ljava/net/URL;Ledu/umd/cs/findbugs/Project$WorkList;Ljava/util/List;)V
        end local 3 // edu.umd.cs.findbugs.Project$WorkListItem item
        13: .line 577
      StackMap locals:
      StackMap stack:
            aload 2 /* workList */
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.isEmpty:()Z
            ifeq 11
        14: .line 582
            aload 1 /* implicitClasspath */
            areturn
        end local 2 // edu.umd.cs.findbugs.Project$WorkList workList
        end local 1 // java.util.LinkedList implicitClasspath
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Ledu/umd/cs/findbugs/Project;
            1   15     1  implicitClasspath  Ljava/util/LinkedList<Ljava/lang/String;>;
            2   15     2           workList  Ledu/umd/cs/findbugs/Project$WorkList;
            4    9     3           fileName  Ljava/lang/String;
            5    7     5                url  Ljava/net/URL;
            6    7     6               item  Ledu/umd/cs/findbugs/Project$WorkListItem;
           12   13     3               item  Ledu/umd/cs/findbugs/Project$WorkListItem;
      Exception table:
        from    to  target  type
           4     7       8  Class java.net.MalformedURLException
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private void processComponentJar(java.net.URL, edu.umd.cs.findbugs.Project$WorkList, java.util.List<java.lang.String>);
    descriptor: (Ljava/net/URL;Ledu/umd/cs/findbugs/Project$WorkList;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=16, args_size=4
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.net.URL jarFileURL
        start local 2 // edu.umd.cs.findbugs.Project$WorkList workList
        start local 3 // java.util.List implicitClasspath
         0: .line 598
            getstatic edu.umd.cs.findbugs.Project.DEBUG:Z
            ifeq 2
         1: .line 599
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jarFileURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            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
         2: .line 602
      StackMap locals:
      StackMap stack:
            aload 1 /* jarFileURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            ldc ".zip"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
            aload 1 /* jarFileURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            ldc ".jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 603
            return
         4: .line 607
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            ldc "jar:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jarFileURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "!/META-INF/MANIFEST.MF"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 4 /* manifestURL */
        start local 4 // java.net.URL manifestURL
         5: .line 609
            aconst_null
            astore 5 /* in */
        start local 5 // java.io.InputStream in
         6: .line 611
            aload 4 /* manifestURL */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 5 /* in */
         7: .line 612
            new java.util.jar.Manifest
            dup
            aload 5 /* in */
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
            astore 6 /* manifest */
        start local 6 // java.util.jar.Manifest manifest
         8: .line 614
            aload 6 /* manifest */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 7 /* mainAttrs */
        start local 7 // java.util.jar.Attributes mainAttrs
         9: .line 615
            aload 7 /* mainAttrs */
            ldc "Class-Path"
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* classPath */
        start local 8 // java.lang.String classPath
        10: .line 616
            aload 8 /* classPath */
            ifnull 26
        11: .line 617
            aload 8 /* classPath */
            ldc "\\s+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* fileList */
        start local 9 // java.lang.String[] fileList
        12: .line 619
            aload 9 /* fileList */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 20
      StackMap locals: edu.umd.cs.findbugs.Project java.net.URL edu.umd.cs.findbugs.Project$WorkList java.util.List java.net.URL java.io.InputStream java.util.jar.Manifest java.util.jar.Attributes java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        13: aload 13
            iload 11
            aaload
            astore 10 /* jarFile */
        start local 10 // java.lang.String jarFile
        14: .line 620
            aload 2 /* workList */
            aload 1 /* jarFileURL */
            aload 10 /* jarFile */
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.createRelativeURL:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
            astore 14 /* referencedURL */
        start local 14 // java.net.URL referencedURL
        15: .line 621
            aload 2 /* workList */
            new edu.umd.cs.findbugs.Project$WorkListItem
            dup
            aload 14 /* referencedURL */
            invokespecial edu.umd.cs.findbugs.Project$WorkListItem.<init>:(Ljava/net/URL;)V
            invokevirtual edu.umd.cs.findbugs.Project$WorkList.add:(Ledu/umd/cs/findbugs/Project$WorkListItem;)Z
            ifeq 19
        16: .line 622
            aload 3 /* implicitClasspath */
            aload 14 /* referencedURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 623
            getstatic edu.umd.cs.findbugs.Project.DEBUG:Z
            ifeq 19
        18: .line 624
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Implicit jar: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* referencedURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            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 14 // java.net.URL referencedURL
        end local 10 // java.lang.String jarFile
        19: .line 619
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        20: iload 11
            iload 12
            if_icmplt 13
        end local 9 // java.lang.String[] fileList
        end local 8 // java.lang.String classPath
        end local 7 // java.util.jar.Attributes mainAttrs
        end local 6 // java.util.jar.Manifest manifest
        21: .line 629
            goto 26
      StackMap locals: edu.umd.cs.findbugs.Project java.net.URL edu.umd.cs.findbugs.Project$WorkList java.util.List java.net.URL java.io.InputStream
      StackMap stack: java.lang.Throwable
        22: astore 15
        23: .line 630
            aload 5 /* in */
            ifnull 25
        24: .line 631
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        25: .line 633
      StackMap locals: edu.umd.cs.findbugs.Project java.net.URL edu.umd.cs.findbugs.Project$WorkList java.util.List java.net.URL java.io.InputStream top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        26: .line 630
      StackMap locals: edu.umd.cs.findbugs.Project java.net.URL edu.umd.cs.findbugs.Project$WorkList java.util.List java.net.URL java.io.InputStream
      StackMap stack:
            aload 5 /* in */
            ifnull 30
        27: .line 631
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream in
        end local 4 // java.net.URL manifestURL
        28: .line 634
            goto 30
      StackMap locals: edu.umd.cs.findbugs.Project java.net.URL edu.umd.cs.findbugs.Project$WorkList java.util.List
      StackMap stack: java.io.IOException
        29: pop
        30: .line 637
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List implicitClasspath
        end local 2 // edu.umd.cs.findbugs.Project$WorkList workList
        end local 1 // java.net.URL jarFileURL
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Ledu/umd/cs/findbugs/Project;
            0   31     1         jarFileURL  Ljava/net/URL;
            0   31     2           workList  Ledu/umd/cs/findbugs/Project$WorkList;
            0   31     3  implicitClasspath  Ljava/util/List<Ljava/lang/String;>;
            5   28     4        manifestURL  Ljava/net/URL;
            6   28     5                 in  Ljava/io/InputStream;
            8   21     6           manifest  Ljava/util/jar/Manifest;
            9   21     7          mainAttrs  Ljava/util/jar/Attributes;
           10   21     8          classPath  Ljava/lang/String;
           12   21     9           fileList  [Ljava/lang/String;
           14   19    10            jarFile  Ljava/lang/String;
           15   19    14      referencedURL  Ljava/net/URL;
      Exception table:
        from    to  target  type
           6    22      22  any
           4    28      29  Class java.io.IOException
    Signature: (Ljava/net/URL;Ledu/umd/cs/findbugs/Project$WorkList;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                   Name  Flags
      jarFileURL         
      workList           
      implicitClasspath  

  public void write(java.lang.String, boolean, java.lang.String);
    descriptor: (Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String outputFile
        start local 2 // boolean useRelativePaths
        start local 3 // java.lang.String relativeBase
         0: .line 666
            aload 1 /* outputFile */
            invokestatic edu.umd.cs.findbugs.charsets.UTF8.printWriter:(Ljava/lang/String;)Ljava/io/PrintWriter;
            astore 4 /* writer */
        start local 4 // java.io.PrintWriter writer
         1: .line 668
            aload 4 /* writer */
            ldc "[Jar files]"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 669
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* jarFile */
        start local 5 // java.lang.String jarFile
         4: .line 670
            iload 2 /* useRelativePaths */
            ifeq 6
         5: .line 671
            aload 0 /* this */
            aload 5 /* jarFile */
            aload 3 /* relativeBase */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* jarFile */
         6: .line 673
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* writer */
            aload 5 /* jarFile */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String jarFile
         7: .line 669
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 676
            aload 4 /* writer */
            ldc "[Source dirs]"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 677
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals:
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* srcDir */
        start local 5 // java.lang.String srcDir
        11: .line 678
            iload 2 /* useRelativePaths */
            ifeq 13
        12: .line 679
            aload 0 /* this */
            aload 5 /* srcDir */
            aload 3 /* relativeBase */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* srcDir */
        13: .line 681
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* writer */
            aload 5 /* srcDir */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String srcDir
        14: .line 677
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 684
            aload 4 /* writer */
            ldc "[Aux classpath entries]"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 685
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* auxClasspathEntry */
        start local 5 // java.lang.String auxClasspathEntry
        18: .line 686
            iload 2 /* useRelativePaths */
            ifeq 20
        19: .line 687
            aload 0 /* this */
            aload 5 /* auxClasspathEntry */
            aload 3 /* relativeBase */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* auxClasspathEntry */
        20: .line 689
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* writer */
            aload 5 /* auxClasspathEntry */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String auxClasspathEntry
        21: .line 685
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        22: .line 692
            iload 2 /* useRelativePaths */
            ifeq 29
        23: .line 693
            aload 4 /* writer */
            ldc "[Options]"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        24: .line 694
            aload 4 /* writer */
            ldc "relative_paths=true"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        25: .line 696
            goto 29
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String int java.lang.String java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        26: astore 7
        27: .line 697
            aload 4 /* writer */
            invokevirtual java.io.PrintWriter.close:()V
        28: .line 698
            aload 7
            athrow
        29: .line 697
      StackMap locals:
      StackMap stack:
            aload 4 /* writer */
            invokevirtual java.io.PrintWriter.close:()V
        30: .line 701
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.Project.isModified:Z
        31: .line 702
            return
        end local 4 // java.io.PrintWriter writer
        end local 3 // java.lang.String relativeBase
        end local 2 // boolean useRelativePaths
        end local 1 // java.lang.String outputFile
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   32     0               this  Ledu/umd/cs/findbugs/Project;
            0   32     1         outputFile  Ljava/lang/String;
            0   32     2   useRelativePaths  Z
            0   32     3       relativeBase  Ljava/lang/String;
            1   32     4             writer  Ljava/io/PrintWriter;
            4    7     5            jarFile  Ljava/lang/String;
           11   14     5             srcDir  Ljava/lang/String;
           18   21     5  auxClasspathEntry  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    26      26  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                  Name  Flags
      outputFile        
      useRelativePaths  
      relativeBase      

  public static edu.umd.cs.findbugs.Project readXML(java.io.File);
    descriptor: (Ljava/io/File;)Ledu/umd/cs/findbugs/Project;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.io.File f
         0: .line 705
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 0 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 706
            new edu.umd.cs.findbugs.Project
            dup
            invokespecial edu.umd.cs.findbugs.Project.<init>:()V
            astore 2 /* project */
        start local 2 // edu.umd.cs.findbugs.Project project
         2: .line 708
            aload 1 /* in */
            invokestatic edu.umd.cs.findbugs.util.Util.getXMLType:(Ljava/io/InputStream;)Ljava/lang/String;
            astore 3 /* tag */
        start local 3 // java.lang.String tag
         3: .line 710
            ldc "Project"
            aload 3 /* tag */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 711
            new edu.umd.cs.findbugs.SAXBugCollectionHandler
            dup
            aload 2 /* project */
            aload 0 /* f */
            invokespecial edu.umd.cs.findbugs.SAXBugCollectionHandler.<init>:(Ledu/umd/cs/findbugs/Project;Ljava/io/File;)V
            astore 4 /* handler */
        start local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
         5: .line 712
            goto 11
        end local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
      StackMap locals: java.io.InputStream edu.umd.cs.findbugs.Project java.lang.String
      StackMap stack:
         6: ldc "BugCollection"
            aload 3 /* tag */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 713
            new edu.umd.cs.findbugs.SortedBugCollection
            dup
            aload 2 /* project */
            invokespecial edu.umd.cs.findbugs.SortedBugCollection.<init>:(Ledu/umd/cs/findbugs/Project;)V
            astore 5 /* bugs */
        start local 5 // edu.umd.cs.findbugs.SortedBugCollection bugs
         8: .line 714
            new edu.umd.cs.findbugs.SAXBugCollectionHandler
            dup
            aload 5 /* bugs */
            aload 0 /* f */
            invokespecial edu.umd.cs.findbugs.SAXBugCollectionHandler.<init>:(Ledu/umd/cs/findbugs/BugCollection;Ljava/io/File;)V
            astore 4 /* handler */
        end local 5 // edu.umd.cs.findbugs.SortedBugCollection bugs
        start local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
         9: .line 715
            goto 11
        end local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
        10: .line 716
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't load a project from a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
        11: .line 719
      StackMap locals: edu.umd.cs.findbugs.SAXBugCollectionHandler
      StackMap stack:
            invokestatic org.xml.sax.helpers.XMLReaderFactory.createXMLReader:()Lorg/xml/sax/XMLReader;
            astore 5 /* xr */
        start local 5 // org.xml.sax.XMLReader xr
        12: .line 721
            aload 5 /* xr */
            aload 4 /* handler */
            invokeinterface org.xml.sax.XMLReader.setContentHandler:(Lorg/xml/sax/ContentHandler;)V
        13: .line 722
            aload 5 /* xr */
            aload 4 /* handler */
            invokeinterface org.xml.sax.XMLReader.setErrorHandler:(Lorg/xml/sax/ErrorHandler;)V
        14: .line 724
            aload 1 /* in */
            invokestatic edu.umd.cs.findbugs.util.Util.getReader:(Ljava/io/InputStream;)Ljava/io/Reader;
            astore 6 /* reader */
        start local 6 // java.io.Reader reader
        15: .line 726
            aload 5 /* xr */
            new org.xml.sax.InputSource
            dup
            aload 6 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            invokeinterface org.xml.sax.XMLReader.parse:(Lorg/xml/sax/InputSource;)V
        end local 6 // java.io.Reader reader
        end local 5 // org.xml.sax.XMLReader xr
        end local 4 // edu.umd.cs.findbugs.SAXBugCollectionHandler handler
        end local 3 // java.lang.String tag
        16: .line 727
            goto 20
      StackMap locals: java.io.File java.io.InputStream edu.umd.cs.findbugs.Project
      StackMap stack: java.lang.Throwable
        17: astore 7
        18: .line 728
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        19: .line 729
            aload 7
            athrow
        20: .line 728
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        21: .line 732
            aload 2 /* project */
            iconst_0
            invokevirtual edu.umd.cs.findbugs.Project.setModified:(Z)V
        22: .line 734
            aload 2 /* project */
            areturn
        end local 2 // edu.umd.cs.findbugs.Project project
        end local 1 // java.io.InputStream in
        end local 0 // java.io.File f
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0        f  Ljava/io/File;
            1   23     1       in  Ljava/io/InputStream;
            2   23     2  project  Ledu/umd/cs/findbugs/Project;
            3   16     3      tag  Ljava/lang/String;
            5    6     4  handler  Ledu/umd/cs/findbugs/SAXBugCollectionHandler;
            9   10     4  handler  Ledu/umd/cs/findbugs/SAXBugCollectionHandler;
           11   16     4  handler  Ledu/umd/cs/findbugs/SAXBugCollectionHandler;
            8    9     5     bugs  Ledu/umd/cs/findbugs/SortedBugCollection;
           12   16     5       xr  Lorg/xml/sax/XMLReader;
           15   16     6   reader  Ljava/io/Reader;
      Exception table:
        from    to  target  type
           2    17      17  any
    Exceptions:
      throws java.io.IOException, org.xml.sax.SAXException
    MethodParameters:
      Name  Flags
      f     

  public void writeXML(java.io.File, edu.umd.cs.findbugs.BugCollection);
    descriptor: (Ljava/io/File;Ledu/umd/cs/findbugs/BugCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.io.File f
        start local 2 // edu.umd.cs.findbugs.BugCollection bugCollection
         0: .line 738
            new java.io.FileOutputStream
            dup
            aload 1 /* f */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 3 /* out */
        start local 3 // java.io.OutputStream out
         1: .line 739
            new edu.umd.cs.findbugs.xml.OutputStreamXMLOutput
            dup
            aload 3 /* out */
            invokespecial edu.umd.cs.findbugs.xml.OutputStreamXMLOutput.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* xmlOutput */
        start local 4 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
         2: .line 741
            aload 0 /* this */
            aload 4 /* xmlOutput */
            aload 1 /* f */
            aload 2 /* bugCollection */
            invokevirtual edu.umd.cs.findbugs.Project.writeXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/io/File;Ledu/umd/cs/findbugs/BugCollection;)V
         3: .line 742
            goto 7
      StackMap locals: edu.umd.cs.findbugs.Project java.io.File edu.umd.cs.findbugs.BugCollection java.io.OutputStream edu.umd.cs.findbugs.xml.XMLOutput
      StackMap stack: java.lang.Throwable
         4: astore 5
         5: .line 743
            aload 4 /* xmlOutput */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.finish:()V
         6: .line 744
            aload 5
            athrow
         7: .line 743
      StackMap locals:
      StackMap stack:
            aload 4 /* xmlOutput */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.finish:()V
         8: .line 745
            return
        end local 4 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
        end local 3 // java.io.OutputStream out
        end local 2 // edu.umd.cs.findbugs.BugCollection bugCollection
        end local 1 // java.io.File f
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ledu/umd/cs/findbugs/Project;
            0    9     1              f  Ljava/io/File;
            0    9     2  bugCollection  Ledu/umd/cs/findbugs/BugCollection;
            1    9     3            out  Ljava/io/OutputStream;
            2    9     4      xmlOutput  Ledu/umd/cs/findbugs/xml/XMLOutput;
      Exception table:
        from    to  target  type
           2     4       4  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.CheckForNull()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        javax.annotation.CheckForNull()
    MethodParameters:
               Name  Flags
      f              
      bugCollection  

  public static edu.umd.cs.findbugs.Project readProject(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/Project;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String argument
         0: .line 756
            aload 0 /* argument */
            astore 1 /* projectFileName */
        start local 1 // java.lang.String projectFileName
         1: .line 758
            new java.io.File
            dup
            aload 1 /* projectFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* projectFile */
        start local 2 // java.io.File projectFile
         2: .line 760
            aload 1 /* projectFileName */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 3
            aload 1 /* projectFileName */
            ldc ".fbp"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         3: .line 762
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 2 /* projectFile */
            invokestatic edu.umd.cs.findbugs.Project.readXML:(Ljava/io/File;)Ledu/umd/cs/findbugs/Project;
         4: areturn
         5: .line 763
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            astore 3 /* e */
        start local 3 // org.xml.sax.SAXException e
         6: .line 764
            new java.io.IOException
            dup
            ldc "Couldn't read saved FindBugs project"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
         7: .line 765
            aload 4 /* ioe */
            aload 3 /* e */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         8: .line 766
            aload 4 /* ioe */
            athrow
        end local 4 // java.io.IOException ioe
        end local 3 // org.xml.sax.SAXException e
         9: .line 769
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't read project from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* argument */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.File projectFile
        end local 1 // java.lang.String projectFileName
        end local 0 // java.lang.String argument
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0         argument  Ljava/lang/String;
            1   10     1  projectFileName  Ljava/lang/String;
            2   10     2      projectFile  Ljava/io/File;
            6    9     3                e  Lorg/xml/sax/SAXException;
            7    9     4              ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class org.xml.sax.SAXException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      argument  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 791
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
            ifnull 2
         1: .line 792
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
            areturn
         2: .line 794
      StackMap locals:
      StackMap stack:
            ldc "<<unnamed project>>"
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;

  public static java.lang.String transformFilename(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 802
            aload 0 /* fileName */
            ldc ".fb"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 803
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".fb"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* fileName */
         2: .line 805
      StackMap locals:
      StackMap stack:
            aload 0 /* fileName */
            areturn
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public void writeXML(edu.umd.cs.findbugs.xml.XMLOutput);
    descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
         0: .line 833
            aload 0 /* this */
            aload 1 /* xmlOutput */
            aconst_null
            aconst_null
            invokevirtual edu.umd.cs.findbugs.Project.writeXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/io/File;Ledu/umd/cs/findbugs/BugCollection;)V
         1: .line 834
            return
        end local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ledu/umd/cs/findbugs/Project;
            0    2     1  xmlOutput  Ledu/umd/cs/findbugs/xml/XMLOutput;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      xmlOutput  

  public void writeXML(edu.umd.cs.findbugs.xml.XMLOutput, java.io.File, edu.umd.cs.findbugs.BugCollection);
    descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/io/File;Ledu/umd/cs/findbugs/BugCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
        start local 2 // java.io.File destination
        start local 3 // edu.umd.cs.findbugs.BugCollection bugCollection
         0: .line 839
            new edu.umd.cs.findbugs.xml.XMLAttributeList
            dup
            invokespecial edu.umd.cs.findbugs.xml.XMLAttributeList.<init>:()V
            astore 4 /* attributeList */
        start local 4 // edu.umd.cs.findbugs.xml.XMLAttributeList attributeList
         1: .line 841
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.Project.getProjectName:()Ljava/lang/String;
            ifnull 3
         2: .line 842
            aload 4 /* attributeList */
            ldc "projectName"
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.Project.getProjectName:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
            astore 4 /* attributeList */
         3: .line 844
      StackMap locals: edu.umd.cs.findbugs.xml.XMLAttributeList
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "Project"
            aload 4 /* attributeList */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
        end local 4 // edu.umd.cs.findbugs.xml.XMLAttributeList attributeList
         4: .line 847
            aload 2 /* destination */
            ifnull 16
         5: .line 848
            aload 2 /* destination */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            astore 4 /* base */
        start local 4 // java.lang.String base
         6: .line 849
            aload 1 /* xmlOutput */
            ldc "Jar"
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            aload 4 /* base */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Iterable;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
         7: .line 850
            aload 1 /* xmlOutput */
            ldc "AuxClasspathEntry"
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            aload 4 /* base */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Iterable;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
         8: .line 851
            aload 1 /* xmlOutput */
            ldc "SrcDir"
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            aload 4 /* base */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Iterable;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
         9: .line 852
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* cwdStrings */
        start local 5 // java.util.List cwdStrings
        10: .line 853
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 6 /* file */
        start local 6 // java.io.File file
        12: .line 854
            aload 5 /* cwdStrings */
            aload 6 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.io.File file
        13: .line 853
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 856
            aload 1 /* xmlOutput */
            ldc "WrkDir"
            aload 0 /* this */
            aload 5 /* cwdStrings */
            aload 4 /* base */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Iterable;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
        end local 5 // java.util.List cwdStrings
        end local 4 // java.lang.String base
        15: .line 857
            goto 20
        16: .line 860
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "Jar"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.analysisTargets:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
        17: .line 861
            aload 1 /* xmlOutput */
            ldc "AuxClasspathEntry"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.auxClasspathEntryList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
        18: .line 862
            aload 1 /* xmlOutput */
            ldc "SrcDir"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeElementList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
        19: .line 863
            aload 1 /* xmlOutput */
            ldc "WrkDir"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokestatic edu.umd.cs.findbugs.xml.XMLOutputUtil.writeFileList:(Ledu/umd/cs/findbugs/xml/XMLOutput;Ljava/lang/String;Ljava/lang/Iterable;)V
        20: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.suppressionFilter:Ledu/umd/cs/findbugs/filter/Filter;
            invokevirtual edu.umd.cs.findbugs.filter.Filter.isEmpty:()Z
            ifne 24
        21: .line 867
            aload 1 /* xmlOutput */
            ldc "SuppressionFilter"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;)V
        22: .line 868
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.suppressionFilter:Ledu/umd/cs/findbugs/filter/Filter;
            aload 1 /* xmlOutput */
            invokevirtual edu.umd.cs.findbugs.filter.Filter.writeBodyAsXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;)V
        23: .line 869
            aload 1 /* xmlOutput */
            ldc "SuppressionFilter"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
        24: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.enabledPlugins:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 35
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection top java.util.Iterator
      StackMap stack:
        25: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
        26: .line 873
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* pluginId */
        start local 6 // java.lang.String pluginId
        27: .line 874
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 7 /* enabled */
        start local 7 // java.lang.Boolean enabled
        28: .line 875
            aload 6 /* pluginId */
            invokestatic edu.umd.cs.findbugs.Plugin.getByPluginId:(Ljava/lang/String;)Ledu/umd/cs/findbugs/Plugin;
            astore 8 /* plugin */
        start local 8 // edu.umd.cs.findbugs.Plugin plugin
        29: .line 876
            aload 8 /* plugin */
            ifnull 35
            aload 7 /* enabled */
            ifnonnull 31
        30: .line 877
            goto 35
        31: .line 879
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection java.util.Map$Entry java.util.Iterator java.lang.String java.lang.Boolean edu.umd.cs.findbugs.Plugin
      StackMap stack:
            new edu.umd.cs.findbugs.xml.XMLAttributeList
            dup
            invokespecial edu.umd.cs.findbugs.xml.XMLAttributeList.<init>:()V
            astore 9 /* pluginAttributeList */
        start local 9 // edu.umd.cs.findbugs.xml.XMLAttributeList pluginAttributeList
        32: .line 880
            aload 9 /* pluginAttributeList */
            ldc "id"
            aload 8 /* plugin */
            invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
            pop
        33: .line 881
            aload 9 /* pluginAttributeList */
            ldc "enabled"
            aload 7 /* enabled */
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
            pop
        34: .line 882
            aload 1 /* xmlOutput */
            ldc "Plugin"
            aload 9 /* pluginAttributeList */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openCloseTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
        end local 9 // edu.umd.cs.findbugs.xml.XMLAttributeList pluginAttributeList
        end local 8 // edu.umd.cs.findbugs.Plugin plugin
        end local 7 // java.lang.Boolean enabled
        end local 6 // java.lang.String pluginId
        end local 4 // java.util.Map$Entry e
        35: .line 872
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        36: .line 884
            aload 3 /* bugCollection */
            ifnonnull 37
            aconst_null
            goto 38
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection
      StackMap stack:
        37: aload 3 /* bugCollection */
            invokestatic edu.umd.cs.findbugs.cloud.CloudFactory.getCloudPlugin:(Ledu/umd/cs/findbugs/BugCollection;)Ledu/umd/cs/findbugs/cloud/CloudPlugin;
      StackMap locals:
      StackMap stack: edu.umd.cs.findbugs.cloud.CloudPlugin
        38: astore 4 /* cloudPlugin */
        start local 4 // edu.umd.cs.findbugs.cloud.CloudPlugin cloudPlugin
        39: .line 885
            aload 4 /* cloudPlugin */
            ifnull 61
        40: .line 886
            aload 4 /* cloudPlugin */
            invokevirtual edu.umd.cs.findbugs.cloud.CloudPlugin.getId:()Ljava/lang/String;
            astore 5 /* id */
        start local 5 // java.lang.String id
        41: .line 887
            aload 5 /* id */
            ifnonnull 43
        42: .line 888
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudId:Ljava/lang/String;
            astore 5 /* id */
        43: .line 890
      StackMap locals: edu.umd.cs.findbugs.cloud.CloudPlugin java.lang.String
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "Cloud"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.startTag:(Ljava/lang/String;)V
        44: .line 891
            aload 1 /* xmlOutput */
            ldc "id"
            aload 5 /* id */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        45: .line 892
            aload 4 /* cloudPlugin */
            invokevirtual edu.umd.cs.findbugs.cloud.CloudPlugin.isOnline:()Z
            istore 6 /* onlineCloud */
        start local 6 // boolean onlineCloud
        46: .line 893
            aload 1 /* xmlOutput */
            ldc "online"
            iload 6 /* onlineCloud */
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        47: .line 894
            aload 4 /* cloudPlugin */
            invokevirtual edu.umd.cs.findbugs.cloud.CloudPlugin.getProperties:()Ledu/umd/cs/findbugs/PropertyBundle;
            ldc "cloud.detailsUrl"
            invokevirtual edu.umd.cs.findbugs.PropertyBundle.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* url */
        start local 7 // java.lang.String url
        48: .line 895
            aload 7 /* url */
            ifnull 50
        49: .line 896
            aload 1 /* xmlOutput */
            ldc "detailsUrl"
            aload 7 /* url */
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        50: .line 898
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* xmlOutput */
            iconst_0
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.stopTag:(Z)V
        51: .line 899
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.cloudProperties:Ljava/util/Properties;
            invokevirtual java.util.Properties.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 59
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection edu.umd.cs.findbugs.cloud.CloudPlugin java.lang.String int java.lang.String top java.util.Iterator
      StackMap stack:
        52: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* e */
        start local 8 // java.util.Map$Entry e
        53: .line 900
            aload 1 /* xmlOutput */
            ldc "Property"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.startTag:(Ljava/lang/String;)V
        54: .line 901
            aload 1 /* xmlOutput */
            ldc "key"
            aload 8 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        55: .line 902
            aload 1 /* xmlOutput */
            iconst_0
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.stopTag:(Z)V
        56: .line 903
            aload 8 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 10 /* value */
        start local 10 // java.lang.Object value
        57: .line 904
            aload 1 /* xmlOutput */
            aload 10 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.writeText:(Ljava/lang/String;)V
        58: .line 905
            aload 1 /* xmlOutput */
            ldc "Property"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
        end local 10 // java.lang.Object value
        end local 8 // java.util.Map$Entry e
        59: .line 899
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 52
        60: .line 907
            aload 1 /* xmlOutput */
            ldc "Cloud"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
        end local 7 // java.lang.String url
        end local 6 // boolean onlineCloud
        end local 5 // java.lang.String id
        61: .line 909
      StackMap locals: edu.umd.cs.findbugs.Project edu.umd.cs.findbugs.xml.XMLOutput java.io.File edu.umd.cs.findbugs.BugCollection edu.umd.cs.findbugs.cloud.CloudPlugin
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "Project"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
        62: .line 910
            return
        end local 4 // edu.umd.cs.findbugs.cloud.CloudPlugin cloudPlugin
        end local 3 // edu.umd.cs.findbugs.BugCollection bugCollection
        end local 2 // java.io.File destination
        end local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   63     0                 this  Ledu/umd/cs/findbugs/Project;
            0   63     1            xmlOutput  Ledu/umd/cs/findbugs/xml/XMLOutput;
            0   63     2          destination  Ljava/io/File;
            0   63     3        bugCollection  Ledu/umd/cs/findbugs/BugCollection;
            1    4     4        attributeList  Ledu/umd/cs/findbugs/xml/XMLAttributeList;
            6   15     4                 base  Ljava/lang/String;
           10   15     5           cwdStrings  Ljava/util/List<Ljava/lang/String;>;
           12   13     6                 file  Ljava/io/File;
           26   35     4                    e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
           27   35     6             pluginId  Ljava/lang/String;
           28   35     7              enabled  Ljava/lang/Boolean;
           29   35     8               plugin  Ledu/umd/cs/findbugs/Plugin;
           32   35     9  pluginAttributeList  Ledu/umd/cs/findbugs/xml/XMLAttributeList;
           39   63     4          cloudPlugin  Ledu/umd/cs/findbugs/cloud/CloudPlugin;
           41   61     5                   id  Ljava/lang/String;
           46   61     6          onlineCloud  Z
           48   61     7                  url  Ljava/lang/String;
           53   59     8                    e  Ljava/util/Map$Entry<**>;
           57   59    10                value  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.CheckForNull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.CheckForNull()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        javax.annotation.CheckForNull()
      2:
        javax.annotation.CheckForNull()
    MethodParameters:
               Name  Flags
      xmlOutput      
      destination    
      bugCollection  

  private java.lang.Iterable<java.lang.String> convertToRelative(java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.util.List paths
        start local 2 // java.lang.String base
         0: .line 920
            new java.util.ArrayList
            dup
            aload 1 /* paths */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* newList */
        start local 3 // java.util.List newList
         1: .line 921
            aload 1 /* paths */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: edu.umd.cs.findbugs.Project java.util.List java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* path */
        start local 4 // java.lang.String path
         3: .line 922
            aload 3 /* newList */
            aload 0 /* this */
            aload 4 /* path */
            aload 2 /* base */
            invokevirtual edu.umd.cs.findbugs.Project.convertToRelative:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String path
         4: .line 921
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 924
            aload 3 /* newList */
            areturn
        end local 3 // java.util.List newList
        end local 2 // java.lang.String base
        end local 1 // java.util.List paths
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ledu/umd/cs/findbugs/Project;
            0    6     1    paths  Ljava/util/List<Ljava/lang/String;>;
            0    6     2     base  Ljava/lang/String;
            1    6     3  newList  Ljava/util/List<Ljava/lang/String;>;
            3    4     4     path  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Ljava/lang/Iterable<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      paths  
      base   

  private java.lang.String convertToRelative(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String srcFile
        start local 2 // java.lang.String base
         0: .line 935
            ldc "file.separator"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* slash */
        start local 3 // java.lang.String slash
         1: .line 937
            getstatic edu.umd.cs.findbugs.Project.FILE_IGNORE_CASE:Z
            ifeq 4
         2: .line 938
            aload 1 /* srcFile */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* srcFile */
         3: .line 939
            aload 2 /* base */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 2 /* base */
         4: .line 942
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* base */
            aload 1 /* srcFile */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 943
            ldc "."
            areturn
         6: .line 946
      StackMap locals:
      StackMap stack:
            aload 2 /* base */
            aload 3 /* slash */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 947
            new java.lang.StringBuilder
            dup
            aload 2 /* base */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* slash */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* base */
         8: .line 950
      StackMap locals:
      StackMap stack:
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            aload 1 /* srcFile */
            invokevirtual java.lang.String.length:()I
            if_icmpgt 12
         9: .line 951
            aload 1 /* srcFile */
            iconst_0
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* root */
        start local 4 // java.lang.String root
        10: .line 952
            aload 4 /* root */
            aload 2 /* base */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 954
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "file.separator"
            invokestatic edu.umd.cs.findbugs.SystemProperties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* srcFile */
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String root
        12: .line 959
      StackMap locals:
      StackMap stack:
            aload 1 /* srcFile */
            aload 3 /* slash */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* slashPos */
        start local 4 // int slashPos
        13: .line 961
            iload 4 /* slashPos */
            iflt 39
        14: .line 962
            aload 1 /* srcFile */
            iconst_0
            iload 4 /* slashPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* subPath */
        start local 6 // java.lang.String subPath
        15: .line 963
            aload 6 /* subPath */
            invokevirtual java.lang.String.length:()I
            ifeq 16
            aload 2 /* base */
            aload 6 /* subPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 39
        16: .line 964
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.lang.String java.lang.String int top java.lang.String
      StackMap stack:
            iload 4 /* slashPos */
            iconst_1
            iadd
            istore 5 /* branchPoint */
        start local 5 // int branchPoint
        17: .line 965
            aload 1 /* srcFile */
            aload 3 /* slash */
            iload 5 /* branchPoint */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* slashPos */
        18: .line 966
            goto 23
        19: .line 967
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.lang.String java.lang.String int int java.lang.String
      StackMap stack:
            aload 1 /* srcFile */
            iconst_0
            iload 4 /* slashPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* subPath */
        20: .line 968
            aload 2 /* base */
            aload 6 /* subPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        21: .line 969
            iload 4 /* slashPos */
            iconst_1
            iadd
            istore 5 /* branchPoint */
        22: .line 973
            aload 1 /* srcFile */
            aload 3 /* slash */
            iload 5 /* branchPoint */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* slashPos */
        23: .line 966
      StackMap locals:
      StackMap stack:
            iload 4 /* slashPos */
            ifge 19
        24: .line 976
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* slashCount */
        start local 7 // int slashCount
        25: .line 977
            aload 2 /* base */
            aload 3 /* slash */
            iload 5 /* branchPoint */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* slashPos */
        26: .line 978
            goto 29
        27: .line 979
      StackMap locals: int
      StackMap stack:
            iinc 7 /* slashCount */ 1
        28: .line 980
            aload 2 /* base */
            aload 3 /* slash */
            iload 4 /* slashPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* slashPos */
        29: .line 978
      StackMap locals:
      StackMap stack:
            iload 4 /* slashPos */
            ifge 27
        30: .line 983
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* path */
        start local 8 // java.lang.StringBuilder path
        31: .line 984
            new java.lang.StringBuilder
            dup
            ldc ".."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* slash */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* upDir */
        start local 9 // java.lang.String upDir
        32: .line 985
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        33: goto 36
        34: .line 986
      StackMap locals: java.lang.StringBuilder java.lang.String int
      StackMap stack:
            aload 8 /* path */
            aload 9 /* upDir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 985
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 10 /* i */
            iload 7 /* slashCount */
            if_icmplt 34
        end local 10 // int i
        37: .line 988
            aload 8 /* path */
            aload 1 /* srcFile */
            iload 5 /* branchPoint */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 989
            aload 8 /* path */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 9 // java.lang.String upDir
        end local 8 // java.lang.StringBuilder path
        end local 7 // int slashCount
        end local 6 // java.lang.String subPath
        end local 5 // int branchPoint
        39: .line 992
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 1 /* srcFile */
            areturn
        end local 4 // int slashPos
        end local 3 // java.lang.String slash
        end local 2 // java.lang.String base
        end local 1 // java.lang.String srcFile
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   40     0         this  Ledu/umd/cs/findbugs/Project;
            0   40     1      srcFile  Ljava/lang/String;
            0   40     2         base  Ljava/lang/String;
            1   40     3        slash  Ljava/lang/String;
           10   12     4         root  Ljava/lang/String;
           13   40     4     slashPos  I
           17   39     5  branchPoint  I
           15   39     6      subPath  Ljava/lang/String;
           25   39     7   slashCount  I
           31   39     8         path  Ljava/lang/StringBuilder;
           32   39     9        upDir  Ljava/lang/String;
           33   37    10            i  I
    MethodParameters:
         Name  Flags
      srcFile  
      base     

  private java.lang.String makeAbsoluteCWD(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String fileName
         0: .line 1027
            aload 0 /* this */
            aload 1 /* fileName */
            invokevirtual edu.umd.cs.findbugs.Project.makeAbsoluteCwdCandidates:(Ljava/lang/String;)Ljava/util/List;
            astore 2 /* candidates */
        start local 2 // java.util.List candidates
         1: .line 1028
            aload 2 /* candidates */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // java.util.List candidates
        end local 1 // java.lang.String fileName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ledu/umd/cs/findbugs/Project;
            0    2     1    fileName  Ljava/lang/String;
            1    2     2  candidates  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      fileName  

  private java.util.List<java.lang.String> makeAbsoluteCwdCandidates(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.lang.String fileName
         0: .line 1044
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* candidates */
        start local 2 // java.util.List candidates
         1: .line 1046
            aload 1 /* fileName */
            invokestatic edu.umd.cs.findbugs.ba.URLClassPath.getURLProtocol:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: java.util.List
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* hasProtocol */
        start local 3 // boolean hasProtocol
         4: .line 1047
            iload 3 /* hasProtocol */
            ifeq 7
         5: .line 1048
            aload 2 /* candidates */
            aload 1 /* fileName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1049
            aload 2 /* candidates */
            areturn
         7: .line 1052
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isAbsolute:()Z
            ifeq 10
         8: .line 1053
            aload 2 /* candidates */
            aload 1 /* fileName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1054
            aload 2 /* candidates */
            areturn
        10: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.util.List int top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* currentWorkingDirectory */
        start local 4 // java.io.File currentWorkingDirectory
        12: .line 1058
            new java.io.File
            dup
            aload 4 /* currentWorkingDirectory */
            aload 1 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* relativeToCurrent */
        start local 6 // java.io.File relativeToCurrent
        13: .line 1059
            aload 6 /* relativeToCurrent */
            invokevirtual java.io.File.exists:()Z
            ifeq 15
        14: .line 1060
            aload 2 /* candidates */
            aload 6 /* relativeToCurrent */
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.io.File relativeToCurrent
        end local 4 // java.io.File currentWorkingDirectory
        15: .line 1057
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 1064
            aload 2 /* candidates */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 18
        17: .line 1065
            aload 2 /* candidates */
            aload 1 /* fileName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 1068
      StackMap locals: edu.umd.cs.findbugs.Project java.lang.String java.util.List int
      StackMap stack:
            aload 2 /* candidates */
            areturn
        end local 3 // boolean hasProtocol
        end local 2 // java.util.List candidates
        end local 1 // java.lang.String fileName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   19     0                     this  Ledu/umd/cs/findbugs/Project;
            0   19     1                 fileName  Ljava/lang/String;
            1   19     2               candidates  Ljava/util/List<Ljava/lang/String;>;
            4   19     3              hasProtocol  Z
           12   15     4  currentWorkingDirectory  Ljava/io/File;
           13   15     6        relativeToCurrent  Ljava/io/File;
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      fileName  

  private <T> boolean addToListInternal(java.util.Collection<T>, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // java.util.Collection list
        start local 2 // java.lang.Object value
         0: .line 1083
            aload 1 /* list */
            aload 2 /* value */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 4
         1: .line 1084
            aload 1 /* list */
            aload 2 /* value */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1085
            aload 0 /* this */
            iconst_1
            putfield edu.umd.cs.findbugs.Project.isModified:Z
         3: .line 1086
            iconst_1
            ireturn
         4: .line 1088
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // java.util.Collection list
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ledu/umd/cs/findbugs/Project;
            0    5     1   list  Ljava/util/Collection<TT;>;
            0    5     2  value  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;TT;)Z
    MethodParameters:
       Name  Flags
      list   
      value  

  public void setTimestamp(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // long timestamp
         0: .line 1108
            aload 0 /* this */
            lload 1 /* timestamp */
            putfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
         1: .line 1109
            return
        end local 1 // long timestamp
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ledu/umd/cs/findbugs/Project;
            0    2     1  timestamp  J
    MethodParameters:
           Name  Flags
      timestamp  

  public void addTimestamp(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // long timestamp
         0: .line 1112
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
            lload 1 /* timestamp */
            lcmp
            ifge 2
            lload 1 /* timestamp */
            invokestatic edu.umd.cs.findbugs.FindBugs.validTimestamp:(J)Z
            ifeq 2
         1: .line 1113
            aload 0 /* this */
            lload 1 /* timestamp */
            putfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
         2: .line 1115
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long timestamp
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ledu/umd/cs/findbugs/Project;
            0    3     1  timestamp  J
    MethodParameters:
           Name  Flags
      timestamp  

  public long getTimestamp();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 1118
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.timestampForAnalyzedClasses:J
            lreturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  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.Project this
        start local 1 // java.lang.String projectName
         0: .line 1122
            aload 0 /* this */
            aload 1 /* projectName */
            putfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
         1: .line 1123
            return
        end local 1 // java.lang.String projectName
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ledu/umd/cs/findbugs/Project;
            0    2     1  projectName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      projectName  

  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.Project this
         0: .line 1126
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.projectName:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;

  public void setSuppressionFilter(edu.umd.cs.findbugs.filter.Filter);
    descriptor: (Ledu/umd/cs/findbugs/filter/Filter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.Project this
        start local 1 // edu.umd.cs.findbugs.filter.Filter suppressionFilter
         0: .line 1130
            aload 1 /* suppressionFilter */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1131
            aload 0 /* this */
            aload 1 /* suppressionFilter */
            putfield edu.umd.cs.findbugs.Project.suppressionFilter:Ledu/umd/cs/findbugs/filter/Filter;
         2: .line 1132
            return
        end local 1 // edu.umd.cs.findbugs.filter.Filter suppressionFilter
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Ledu/umd/cs/findbugs/Project;
            0    3     1  suppressionFilter  Ledu/umd/cs/findbugs/filter/Filter;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
    MethodParameters:
                   Name  Flags
      suppressionFilter  

  public edu.umd.cs.findbugs.filter.Filter getSuppressionFilter();
    descriptor: ()Ledu/umd/cs/findbugs/filter/Filter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 1136
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.suppressionFilter:Ledu/umd/cs/findbugs/filter/Filter;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Project;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.Nonnull()

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

  public edu.umd.cs.findbugs.IGuiCallback getGuiCallback();
    descriptor: ()Ledu/umd/cs/findbugs/IGuiCallback;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 1144
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
            ifnonnull 2
         1: .line 1145
            aload 0 /* this */
            new edu.umd.cs.findbugs.CommandLineUiCallback
            dup
            invokespecial edu.umd.cs.findbugs.CommandLineUiCallback.<init>:()V
            putfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
         2: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.guiCallback:Ledu/umd/cs/findbugs/IGuiCallback;
            areturn
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/Project;

  public java.lang.Iterable<java.lang.String> getResolvedSourcePaths();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // edu.umd.cs.findbugs.Project this
         0: .line 1151
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 1152
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.srcDirList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 21
      StackMap locals: edu.umd.cs.findbugs.Project java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         3: .line 1153
            aload 2 /* s */
            invokestatic edu.umd.cs.findbugs.ba.URLClassPath.getURLProtocol:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: edu.umd.cs.findbugs.Project java.util.List java.lang.String java.util.Iterator
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* hasProtocol */
        start local 4 // boolean hasProtocol
         6: .line 1154
            iload 4 /* hasProtocol */
            ifeq 9
         7: .line 1155
            aload 1 /* result */
            aload 2 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1156
            goto 21
         9: .line 1158
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* s */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* f */
        start local 5 // java.io.File f
        10: .line 1159
            aload 5 /* f */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 11
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 14
        11: .line 1160
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.File.canRead:()Z
            ifeq 21
        12: .line 1161
            aload 1 /* result */
            aload 2 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1163
            goto 21
        14: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.Project.currentWorkingDirectoryList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 20
      StackMap locals: edu.umd.cs.findbugs.Project java.util.List java.lang.String java.util.Iterator int java.io.File top java.util.Iterator
      StackMap stack:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 6 /* d */
        start local 6 // java.io.File d
        16: .line 1166
            aload 6 /* d */
            invokevirtual java.io.File.canRead:()Z
            ifeq 20
            aload 6 /* d */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 20
        17: .line 1167
            new java.io.File
            dup
            aload 6 /* d */
            aload 2 /* s */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 8 /* a */
        start local 8 // java.io.File a
        18: .line 1168
            aload 8 /* a */
            invokevirtual java.io.File.canRead:()Z
            ifeq 20
        19: .line 1169
            aload 1 /* result */
            aload 8 /* a */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.io.File a
        end local 6 // java.io.File d
        20: .line 1165
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 5 // java.io.File f
        end local 4 // boolean hasProtocol
        end local 2 // java.lang.String s
        21: .line 1152
      StackMap locals: edu.umd.cs.findbugs.Project java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        22: .line 1176
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // edu.umd.cs.findbugs.Project this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Ledu/umd/cs/findbugs/Project;
            1   23     1       result  Ljava/util/List<Ljava/lang/String;>;
            3   21     2            s  Ljava/lang/String;
            6   21     4  hasProtocol  Z
           10   21     5            f  Ljava/io/File;
           16   20     6            d  Ljava/io/File;
           18   20     8            a  Ljava/io/File;
    Signature: ()Ljava/lang/Iterable<Ljava/lang/String;>;
}
SourceFile: "Project.java"
NestMembers:
  edu.umd.cs.findbugs.Project$WorkList  edu.umd.cs.findbugs.Project$WorkListItem
InnerClasses:
  private WorkList = edu.umd.cs.findbugs.Project$WorkList of edu.umd.cs.findbugs.Project
  private WorkListItem = edu.umd.cs.findbugs.Project$WorkListItem of edu.umd.cs.findbugs.Project
  public abstract Entry = java.util.Map$Entry of java.util.Map