public abstract class edu.umd.cs.findbugs.config.CommandLine
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: edu.umd.cs.findbugs.config.CommandLine
  super_class: java.lang.Object
{
  private static final java.lang.String SPACES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "                    "

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

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

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

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

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

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

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

  int maxWidth;
    descriptor: I
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
         2: .line 67
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
         3: .line 68
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
         4: .line 69
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
         5: .line 70
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
         6: .line 71
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
         7: .line 72
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
         8: .line 73
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
         9: .line 74
            return
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ledu/umd/cs/findbugs/config/CommandLine;

  public void startOptionGroup(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String description
         0: .line 83
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* description */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 84
            return
        end local 1 // java.lang.String description
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    2     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  

  public void addSwitch(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String option
        start local 2 // java.lang.String description
         0: .line 96
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
            aload 1 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 97
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
            aload 1 /* option */
            aload 2 /* description */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 99
            aload 1 /* option */
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
            if_icmple 4
         3: .line 100
            aload 0 /* this */
            aload 1 /* option */
            invokevirtual java.lang.String.length:()I
            putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
         4: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String description
        end local 1 // java.lang.String option
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    5     1       option  Ljava/lang/String;
            0    5     2  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      option       
      description  

  public void addSwitchWithOptionalExtraPart(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String option
        start local 2 // java.lang.String optionExtraPartSynopsis
        start local 3 // java.lang.String description
         0: .line 116
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
            aload 1 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 117
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
            aload 1 /* option */
            aload 2 /* optionExtraPartSynopsis */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 118
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
            aload 1 /* option */
            aload 3 /* description */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 121
            aload 1 /* option */
            invokevirtual java.lang.String.length:()I
            aload 2 /* optionExtraPartSynopsis */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_3
            iadd
            istore 4 /* length */
        start local 4 // int length
         4: .line 122
            iload 4 /* length */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
            if_icmple 6
         5: .line 123
            aload 0 /* this */
            iload 4 /* length */
            putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
         6: .line 125
      StackMap locals: int
      StackMap stack:
            return
        end local 4 // int length
        end local 3 // java.lang.String description
        end local 2 // java.lang.String optionExtraPartSynopsis
        end local 1 // java.lang.String option
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    7     1                   option  Ljava/lang/String;
            0    7     2  optionExtraPartSynopsis  Ljava/lang/String;
            0    7     3              description  Ljava/lang/String;
            4    7     4                   length  I
    MethodParameters:
                         Name  Flags
      option                   
      optionExtraPartSynopsis  
      description              

  public void addOption(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String option
        start local 2 // java.lang.String argumentDesc
        start local 3 // java.lang.String description
         0: .line 138
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
            aload 1 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 139
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
            aload 1 /* option */
            aload 3 /* description */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 140
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
            aload 1 /* option */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 141
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
            aload 1 /* option */
            aload 2 /* argumentDesc */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 143
            aload 1 /* option */
            invokevirtual java.lang.String.length:()I
            iconst_3
            iadd
            aload 2 /* argumentDesc */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* width */
        start local 4 // int width
         5: .line 144
            iload 4 /* width */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
            if_icmple 7
         6: .line 145
            aload 0 /* this */
            iload 4 /* width */
            putfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
         7: .line 147
      StackMap locals: int
      StackMap stack:
            return
        end local 4 // int width
        end local 3 // java.lang.String description
        end local 2 // java.lang.String argumentDesc
        end local 1 // java.lang.String option
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    8     1        option  Ljava/lang/String;
            0    8     2  argumentDesc  Ljava/lang/String;
            0    8     3   description  Ljava/lang/String;
            5    8     4         width  I
    MethodParameters:
              Name  Flags
      option        
      argumentDesc  
      description   

  public void makeOptionUnlisted(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.config.CommandLine this
        start local 1 // java.lang.String option
         0: .line 155
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
            aload 1 /* option */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 156
            return
        end local 1 // java.lang.String option
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    2     1  option  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  

  public java.lang.String[] expandOptionFiles(java.lang.String[], boolean, boolean);
    descriptor: ([Ljava/lang/String;ZZ)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String[] argv
        start local 2 // boolean ignoreComments
        start local 3 // boolean ignoreBlankLines
         0: .line 180
            aload 0 /* this */
            aload 1 /* argv */
            iconst_1
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;Z)I
            istore 4 /* lastOptionIndex */
        start local 4 // int lastOptionIndex
         1: .line 181
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* resultList */
        start local 5 // java.util.ArrayList resultList
         2: .line 182
            iload 2 /* ignoreComments */
            iload 3 /* ignoreBlankLines */
            invokestatic edu.umd.cs.findbugs.config.CommandLine.getAnalysisOptionProperties:(ZZ)Ljava/util/ArrayList;
            astore 6 /* expandedOptionsList */
        start local 6 // java.util.ArrayList expandedOptionsList
         3: .line 183
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: goto 18
         5: .line 184
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int int java.util.ArrayList java.util.ArrayList int
      StackMap stack:
            aload 1 /* argv */
            iload 7 /* i */
            aaload
            astore 8 /* arg */
        start local 8 // java.lang.String arg
         6: .line 185
            aload 8 /* arg */
            ldc "@"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
         7: .line 186
            aload 5 /* resultList */
            aload 8 /* arg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 187
            goto 17
         9: .line 190
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 9 /* reader */
        start local 9 // java.io.BufferedReader reader
        10: .line 192
            new java.io.FileInputStream
            dup
            aload 8 /* arg */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            invokestatic edu.umd.cs.findbugs.charsets.UTF8.bufferedReader:(Ljava/io/InputStream;)Ljava/io/BufferedReader;
            astore 9 /* reader */
        11: .line 193
            aload 6 /* expandedOptionsList */
            aload 9 /* reader */
            iload 2 /* ignoreComments */
            iload 3 /* ignoreBlankLines */
            invokestatic edu.umd.cs.findbugs.config.CommandLine.addCommandLineOptions:(Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
        12: .line 194
            goto 16
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int int java.util.ArrayList java.util.ArrayList int java.lang.String java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        13: astore 10
        14: .line 195
            aload 9 /* reader */
            invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
        15: .line 196
            aload 10
            athrow
        16: .line 195
      StackMap locals:
      StackMap stack:
            aload 9 /* reader */
            invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
        end local 9 // java.io.BufferedReader reader
        end local 8 // java.lang.String arg
        17: .line 183
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            iload 4 /* lastOptionIndex */
            if_icmplt 5
        end local 7 // int i
        19: .line 198
            aload 5 /* resultList */
            aload 6 /* expandedOptionsList */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 199
            iload 4 /* lastOptionIndex */
            istore 7 /* i */
        start local 7 // int i
        21: goto 24
        22: .line 200
      StackMap locals:
      StackMap stack:
            aload 5 /* resultList */
            aload 1 /* argv */
            iload 7 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        23: .line 199
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            aload 1 /* argv */
            arraylength
            if_icmplt 22
        end local 7 // int i
        25: .line 203
            aload 5 /* resultList */
            aload 5 /* resultList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 6 // java.util.ArrayList expandedOptionsList
        end local 5 // java.util.ArrayList resultList
        end local 4 // int lastOptionIndex
        end local 3 // boolean ignoreBlankLines
        end local 2 // boolean ignoreComments
        end local 1 // java.lang.String[] argv
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Ledu/umd/cs/findbugs/config/CommandLine;
            0   26     1                 argv  [Ljava/lang/String;
            0   26     2       ignoreComments  Z
            0   26     3     ignoreBlankLines  Z
            1   26     4      lastOptionIndex  I
            2   26     5           resultList  Ljava/util/ArrayList<Ljava/lang/String;>;
            3   26     6  expandedOptionsList  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   19     7                    i  I
            6   17     8                  arg  Ljava/lang/String;
           10   17     9               reader  Ljava/io/BufferedReader;
           21   25     7                    i  I
      Exception table:
        from    to  target  type
          10    13      13  any
    Exceptions:
      throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
    MethodParameters:
                  Name  Flags
      argv              
      ignoreComments    
      ignoreBlankLines  

  public static java.util.ArrayList<java.lang.String> getAnalysisOptionProperties(boolean, boolean);
    descriptor: (ZZ)Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // boolean ignoreComments
        start local 1 // boolean ignoreBlankLines
         0: .line 207
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* resultList */
        start local 2 // java.util.ArrayList resultList
         1: .line 208
            ldc "analysisOptions.properties"
            invokestatic edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* u */
        start local 3 // java.net.URL u
         2: .line 209
            aload 3 /* u */
            ifnull 14
         3: .line 210
            aconst_null
            astore 4 /* reader */
        start local 4 // java.io.BufferedReader reader
         4: .line 212
            aload 3 /* u */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            invokestatic edu.umd.cs.findbugs.charsets.UTF8.bufferedReader:(Ljava/io/InputStream;)Ljava/io/BufferedReader;
            astore 4 /* reader */
         5: .line 213
            aload 2 /* resultList */
            aload 4 /* reader */
            iload 0 /* ignoreComments */
            iload 1 /* ignoreBlankLines */
            invokestatic edu.umd.cs.findbugs.config.CommandLine.addCommandLineOptions:(Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
         6: .line 214
            goto 13
      StackMap locals: int int java.util.ArrayList java.net.URL java.io.BufferedReader
      StackMap stack: java.io.IOException
         7: astore 5 /* e */
        start local 5 // java.io.IOException e
         8: .line 215
            ldc "unable to load analysisOptions.properties"
            aload 5 /* e */
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.io.IOException e
         9: .line 217
            aload 4 /* reader */
            invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
            goto 14
        10: .line 216
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        11: .line 217
            aload 4 /* reader */
            invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
        12: .line 218
            aload 6
            athrow
        13: .line 217
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            invokestatic edu.umd.cs.findbugs.util.Util.closeSilently:(Ljava/io/Reader;)V
        end local 4 // java.io.BufferedReader reader
        14: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* resultList */
            areturn
        end local 3 // java.net.URL u
        end local 2 // java.util.ArrayList resultList
        end local 1 // boolean ignoreBlankLines
        end local 0 // boolean ignoreComments
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0    ignoreComments  Z
            0   15     1  ignoreBlankLines  Z
            1   15     2        resultList  Ljava/util/ArrayList<Ljava/lang/String;>;
            2   15     3                 u  Ljava/net/URL;
            4   14     4            reader  Ljava/io/BufferedReader;
            8    9     5                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.io.IOException
           4     9      10  any
    Signature: (ZZ)Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      ignoreComments    
      ignoreBlankLines  

  private static void addCommandLineOptions(java.util.ArrayList<java.lang.String>, java.io.BufferedReader, boolean, );
    descriptor: (Ljava/util/ArrayList;Ljava/io/BufferedReader;ZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // java.util.ArrayList resultList
        start local 1 // java.io.BufferedReader reader
        start local 2 // boolean ignoreComments
        start local 3 // boolean ignoreBlankLines
         0: .line 226
            goto 14
        start local 4 // java.lang.String line
         1: .line 227
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* line */
         2: .line 229
            iload 2 /* ignoreComments */
            ifeq 4
            aload 4 /* line */
            ldc "#"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 230
            goto 14
         4: .line 233
      StackMap locals:
      StackMap stack:
            iload 3 /* ignoreBlankLines */
            ifeq 6
            ldc ""
            aload 4 /* line */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 234
            goto 14
         6: .line 236
      StackMap locals:
      StackMap stack:
            aload 4 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 9
            aload 4 /* line */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 9
            aload 4 /* line */
            aload 4 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 9
         7: .line 237
            aload 0 /* resultList */
            aload 4 /* line */
            iconst_0
            aload 4 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 238
            goto 14
         9: .line 239
      StackMap locals:
      StackMap stack:
            aload 4 /* line */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 13
      StackMap locals: java.util.ArrayList java.io.BufferedReader int int java.lang.String top int int java.lang.String[]
      StackMap stack:
        10: aload 8
            iload 6
            aaload
            astore 5 /* segment */
        start local 5 // java.lang.String segment
        11: .line 240
            aload 0 /* resultList */
            aload 5 /* segment */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String segment
        12: .line 239
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 10
        end local 4 // java.lang.String line
        14: .line 226
      StackMap locals: java.util.ArrayList java.io.BufferedReader int int
      StackMap stack:
            aload 1 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 4 /* line */
        start local 4 // java.lang.String line
        15: ifnonnull 1
        16: .line 244
            return
        end local 4 // java.lang.String line
        end local 3 // boolean ignoreBlankLines
        end local 2 // boolean ignoreComments
        end local 1 // java.io.BufferedReader reader
        end local 0 // java.util.ArrayList resultList
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0        resultList  Ljava/util/ArrayList<Ljava/lang/String;>;
            0   17     1            reader  Ljava/io/BufferedReader;
            0   17     2    ignoreComments  Z
            0   17     3  ignoreBlankLines  Z
            1   14     4              line  Ljava/lang/String;
           15   17     4              line  Ljava/lang/String;
           11   12     5           segment  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/io/BufferedReader;ZZ)V
    MethodParameters:
                  Name  Flags
      resultList        
      reader            
      ignoreComments    
      ignoreBlankLines  

  public int parse(java.lang.String[], int, int, java.lang.String);
    descriptor: ([Ljava/lang/String;IILjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String[] argv
        start local 2 // int minArgs
        start local 3 // int maxArgs
        start local 4 // java.lang.String usage
         0: .line 270
            aload 0 /* this */
            aload 1 /* argv */
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;)I
            istore 5 /* count */
        start local 5 // int count
         1: .line 271
            aload 1 /* argv */
            arraylength
            iload 5 /* count */
            isub
            istore 6 /* remaining */
        start local 6 // int remaining
         2: .line 272
            iload 6 /* remaining */
            iload 2 /* minArgs */
            if_icmplt 3
            iload 6 /* remaining */
            iload 3 /* maxArgs */
            if_icmple 8
         3: .line 273
      StackMap locals: int int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 4 /* usage */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 274
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* minArgs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* maxArgs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " file arguments, found "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* remaining */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 275
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Options:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 276
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.printUsage:(Ljava/io/OutputStream;)V
         7: .line 277
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         8: .line 279
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
         9: ireturn
        end local 6 // int remaining
        end local 5 // int count
        10: .line 280
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.lang.String[] int int java.lang.String
      StackMap stack: edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
            pop
            goto 16
        11: .line 282
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 5 /* e */
        start local 5 // java.lang.RuntimeException e
        12: .line 283
            aload 5 /* e */
            invokevirtual java.lang.RuntimeException.printStackTrace:()V
        end local 5 // java.lang.RuntimeException e
        13: goto 16
        14: .line 284
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        15: .line 285
            aload 5 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 5 // java.io.IOException e
        16: .line 287
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 4 /* usage */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 288
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Options:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 289
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.printUsage:(Ljava/io/OutputStream;)V
        19: .line 290
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        20: .line 291
            iconst_m1
            ireturn
        end local 4 // java.lang.String usage
        end local 3 // int maxArgs
        end local 2 // int minArgs
        end local 1 // java.lang.String[] argv
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Ledu/umd/cs/findbugs/config/CommandLine;
            0   21     1       argv  [Ljava/lang/String;
            0   21     2    minArgs  I
            0   21     3    maxArgs  I
            0   21     4      usage  Ljava/lang/String;
            1   10     5      count  I
            2   10     6  remaining  I
           12   13     5          e  Ljava/lang/RuntimeException;
           15   16     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     9      10  Class edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
           0     9      11  Class java.lang.RuntimeException
           0     9      14  Class java.io.IOException
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = {"DM_EXIT"})
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = {"DM_EXIT"})
    MethodParameters:
         Name  Flags
      argv     
      minArgs  
      maxArgs  
      usage    

  public int parse(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String[] argv
         0: .line 307
            aload 0 /* this */
            aload 1 /* argv */
            iconst_0
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.parse:([Ljava/lang/String;Z)I
            ireturn
        end local 1 // java.lang.String[] argv
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/config/CommandLine;
            0    1     1  argv  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
    MethodParameters:
      Name  Flags
      argv  

  private int parse(java.lang.String[], boolean);
    descriptor: ([Ljava/lang/String;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.lang.String[] argv
        start local 2 // boolean dryRun
         0: .line 311
            iconst_0
            istore 3 /* arg */
        start local 3 // int arg
         1: .line 313
            goto 26
         2: .line 314
      StackMap locals: int
      StackMap stack:
            aload 1 /* argv */
            iload 3 /* arg */
            aaload
            astore 4 /* option */
        start local 4 // java.lang.String option
         3: .line 315
            ldc "-help"
            aload 4 /* option */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            ldc "-h"
            aload 4 /* option */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 316
      StackMap locals: java.lang.String
      StackMap stack:
            new edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
            dup
            invokespecial edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException.<init>:()V
            athrow
         5: .line 318
      StackMap locals:
      StackMap stack:
            aload 4 /* option */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 319
            goto 27
         7: .line 322
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 5 /* optionExtraPart */
        start local 5 // java.lang.String optionExtraPart
         8: .line 323
            aload 4 /* option */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* colon */
        start local 6 // int colon
         9: .line 324
            iload 6 /* colon */
            iflt 12
        10: .line 325
            aload 4 /* option */
            iload 6 /* colon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* optionExtraPart */
        11: .line 326
            aload 4 /* option */
            iconst_0
            iload 6 /* colon */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* option */
        12: .line 329
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
            aload 4 /* option */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 14
        13: .line 330
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* option */
            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
        14: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
            aload 4 /* option */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 23
        15: .line 334
            iinc 3 /* arg */ 1
        16: .line 335
            iload 3 /* arg */
            aload 1 /* argv */
            arraylength
            if_icmplt 18
        17: .line 336
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Option "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " requires an 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
        18: .line 338
      StackMap locals:
      StackMap stack:
            aload 1 /* argv */
            iload 3 /* arg */
            aaload
            astore 7 /* argument */
        start local 7 // java.lang.String argument
        19: .line 339
            iload 2 /* dryRun */
            ifne 21
        20: .line 340
            aload 0 /* this */
            aload 4 /* option */
            aload 7 /* argument */
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.handleOptionWithArgument:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 342
      StackMap locals: java.lang.String
      StackMap stack:
            iinc 3 /* arg */ 1
        end local 7 // java.lang.String argument
        22: .line 343
            goto 26
        23: .line 344
      StackMap locals:
      StackMap stack:
            iload 2 /* dryRun */
            ifne 25
        24: .line 345
            aload 0 /* this */
            aload 4 /* option */
            aload 5 /* optionExtraPart */
            invokevirtual edu.umd.cs.findbugs.config.CommandLine.handleOption:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 347
      StackMap locals:
      StackMap stack:
            iinc 3 /* arg */ 1
        end local 6 // int colon
        end local 5 // java.lang.String optionExtraPart
        end local 4 // java.lang.String option
        26: .line 313
      StackMap locals:
      StackMap stack:
            iload 3 /* arg */
            aload 1 /* argv */
            arraylength
            if_icmplt 2
        27: .line 351
      StackMap locals:
      StackMap stack:
            iload 3 /* arg */
            ireturn
        end local 3 // int arg
        end local 2 // boolean dryRun
        end local 1 // java.lang.String[] argv
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   28     0             this  Ledu/umd/cs/findbugs/config/CommandLine;
            0   28     1             argv  [Ljava/lang/String;
            0   28     2           dryRun  Z
            1   28     3              arg  I
            3   26     4           option  Ljava/lang/String;
            8   26     5  optionExtraPart  Ljava/lang/String;
            9   26     6            colon  I
           19   22     7         argument  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
    MethodParameters:
        Name  Flags
      argv    
      dryRun  

  protected abstract void handleOption(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      option           
      optionExtraPart  

  protected abstract void handleOptionWithArgument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      option    
      argument  

  public void printUsage(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // edu.umd.cs.findbugs.config.CommandLine this
        start local 1 // java.io.OutputStream os
         0: .line 383
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 384
            aload 1 /* os */
            invokestatic edu.umd.cs.findbugs.charsets.UTF8.printStream:(Ljava/io/OutputStream;)Ljava/io/PrintStream;
            astore 3 /* out */
        start local 3 // java.io.PrintStream out
         2: .line 385
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 23
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* option */
        start local 4 // java.lang.String option
         4: .line 387
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
            iload 2 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 388
            aload 3 /* out */
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionGroups:Ljava/util/Map;
            iload 2 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.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
         6: .line 390
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream java.lang.String java.util.Iterator
      StackMap stack:
            iinc 2 /* count */ 1
         7: .line 392
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.unlistedOptions:Ljava/util/Set;
            aload 4 /* option */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 393
            goto 23
         9: .line 395
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "    "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        10: .line 397
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* buf */
        start local 6 // java.lang.StringBuilder buf
        11: .line 398
            aload 6 /* buf */
            aload 4 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 399
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
            aload 4 /* option */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 17
        13: .line 400
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionExtraPartSynopsisMap:Ljava/util/Map;
            aload 4 /* option */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* optionExtraPartSynopsis */
        start local 7 // java.lang.String optionExtraPartSynopsis
        14: .line 401
            aload 6 /* buf */
            ldc "[:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 402
            aload 6 /* buf */
            aload 7 /* optionExtraPartSynopsis */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 403
            aload 6 /* buf */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.String optionExtraPartSynopsis
        17: .line 405
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.requiresArgumentSet:Ljava/util/Set;
            aload 4 /* option */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 406
            aload 6 /* buf */
            ldc " <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 407
            aload 6 /* buf */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.argumentDescriptionMap:Ljava/util/Map;
            aload 4 /* option */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 408
            aload 6 /* buf */
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 410
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 6 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.maxWidth:I
            iconst_1
            iadd
            invokestatic edu.umd.cs.findbugs.config.CommandLine.printField:(Ljava/io/PrintStream;Ljava/lang/String;I)V
        22: .line 412
            aload 3 /* out */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.config.CommandLine.optionDescriptionMap:Ljava/util/Map;
            aload 4 /* option */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.StringBuilder buf
        end local 4 // java.lang.String option
        23: .line 385
      StackMap locals: edu.umd.cs.findbugs.config.CommandLine java.io.OutputStream int java.io.PrintStream top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        24: .line 414
            aload 3 /* out */
            invokevirtual java.io.PrintStream.flush:()V
        25: .line 415
            return
        end local 3 // java.io.PrintStream out
        end local 2 // int count
        end local 1 // java.io.OutputStream os
        end local 0 // edu.umd.cs.findbugs.config.CommandLine this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   26     0                     this  Ledu/umd/cs/findbugs/config/CommandLine;
            0   26     1                       os  Ljava/io/OutputStream;
            1   26     2                    count  I
            2   26     3                      out  Ljava/io/PrintStream;
            4   23     4                   option  Ljava/lang/String;
           11   23     6                      buf  Ljava/lang/StringBuilder;
           14   17     7  optionExtraPartSynopsis  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      os    

  private static void printField(java.io.PrintStream, java.lang.String, int);
    descriptor: (Ljava/io/PrintStream;Ljava/lang/String;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.io.PrintStream out
        start local 1 // java.lang.String s
        start local 2 // int width
         0: .line 418
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iload 2 /* width */
            if_icmple 2
         1: .line 419
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 421
      StackMap locals:
      StackMap stack:
            iload 2 /* width */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            isub
            istore 3 /* nSpaces */
        start local 3 // int nSpaces
         3: .line 422
            aload 0 /* out */
            aload 1 /* s */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         4: .line 423
            goto 8
         5: .line 424
      StackMap locals: int
      StackMap stack:
            ldc "                    "
            invokevirtual java.lang.String.length:()I
            iload 3 /* nSpaces */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* n */
        start local 4 // int n
         6: .line 425
            aload 0 /* out */
            ldc "                    "
            iconst_0
            iload 4 /* n */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 426
            iload 3 /* nSpaces */
            iload 4 /* n */
            isub
            istore 3 /* nSpaces */
        end local 4 // int n
         8: .line 423
      StackMap locals:
      StackMap stack:
            iload 3 /* nSpaces */
            ifgt 5
         9: .line 428
            return
        end local 3 // int nSpaces
        end local 2 // int width
        end local 1 // java.lang.String s
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0      out  Ljava/io/PrintStream;
            0   10     1        s  Ljava/lang/String;
            0   10     2    width  I
            3   10     3  nSpaces  I
            6    8     4        n  I
    MethodParameters:
       Name  Flags
      out    
      s      
      width  
}
SourceFile: "CommandLine.java"
NestMembers:
  edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException
InnerClasses:
  public HelpRequestedException = edu.umd.cs.findbugs.config.CommandLine$HelpRequestedException of edu.umd.cs.findbugs.config.CommandLine