public final class android.print.PrinterCapabilitiesInfo$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.print.PrinterCapabilitiesInfo$Builder
  super_class: java.lang.Object
{
  private final android.print.PrinterCapabilitiesInfo mPrototype;
    descriptor: Landroid/print/PrinterCapabilitiesInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.print.PrinterId);
    descriptor: (Landroid/print/PrinterId;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // android.print.PrinterId printerId
         0: .line 455
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 456
            aload 1 /* printerId */
            ifnonnull 3
         2: .line 457
            new java.lang.IllegalArgumentException
            dup
            ldc "printerId cannot be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 459
      StackMap locals: android.print.PrinterCapabilitiesInfo$Builder android.print.PrinterId
      StackMap stack:
            aload 0 /* this */
            new android.print.PrinterCapabilitiesInfo
            dup
            invokespecial android.print.PrinterCapabilitiesInfo.<init>:()V
            putfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
         4: .line 460
            return
        end local 1 // android.print.PrinterId printerId
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    5     1  printerId  Landroid/print/PrinterId;
    MethodParameters:
           Name  Flags
      printerId  

  public android.print.PrinterCapabilitiesInfo$Builder addMediaSize(android.print.PrintAttributes$MediaSize, boolean);
    descriptor: (Landroid/print/PrintAttributes$MediaSize;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // android.print.PrintAttributes$MediaSize mediaSize
        start local 2 // boolean isDefault
         0: .line 477
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
            ifnonnull 2
         1: .line 478
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
         2: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* insertionIndex */
        start local 3 // int insertionIndex
         3: .line 481
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
            aload 1 /* mediaSize */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 482
            iload 2 /* isDefault */
            ifeq 7
         5: .line 483
            aload 0 /* this */
            iconst_0
            invokevirtual android.print.PrinterCapabilitiesInfo$Builder.throwIfDefaultAlreadySpecified:(I)V
         6: .line 484
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_0
            iload 3 /* insertionIndex */
            iastore
         7: .line 486
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int insertionIndex
        end local 2 // boolean isDefault
        end local 1 // android.print.PrintAttributes$MediaSize mediaSize
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    8     1       mediaSize  Landroid/print/PrintAttributes$MediaSize;
            0    8     2       isDefault  Z
            3    8     3  insertionIndex  I
    MethodParameters:
           Name  Flags
      mediaSize  
      isDefault  

  public android.print.PrinterCapabilitiesInfo$Builder addResolution(android.print.PrintAttributes$Resolution, boolean);
    descriptor: (Landroid/print/PrintAttributes$Resolution;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // android.print.PrintAttributes$Resolution resolution
        start local 2 // boolean isDefault
         0: .line 505
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
            ifnonnull 2
         1: .line 506
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
         2: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* insertionIndex */
        start local 3 // int insertionIndex
         3: .line 509
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
            aload 1 /* resolution */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 510
            iload 2 /* isDefault */
            ifeq 7
         5: .line 511
            aload 0 /* this */
            iconst_1
            invokevirtual android.print.PrinterCapabilitiesInfo$Builder.throwIfDefaultAlreadySpecified:(I)V
         6: .line 512
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_1
            iload 3 /* insertionIndex */
            iastore
         7: .line 514
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int insertionIndex
        end local 2 // boolean isDefault
        end local 1 // android.print.PrintAttributes$Resolution resolution
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    8     1      resolution  Landroid/print/PrintAttributes$Resolution;
            0    8     2       isDefault  Z
            3    8     3  insertionIndex  I
    MethodParameters:
            Name  Flags
      resolution  
      isDefault   

  public android.print.PrinterCapabilitiesInfo$Builder setMinMargins(android.print.PrintAttributes$Margins);
    descriptor: (Landroid/print/PrintAttributes$Margins;)Landroid/print/PrinterCapabilitiesInfo$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // android.print.PrintAttributes$Margins margins
         0: .line 533
            aload 1 /* margins */
            ifnonnull 2
         1: .line 534
            new java.lang.IllegalArgumentException
            dup
            ldc "margins cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            aload 1 /* margins */
            putfield android.print.PrinterCapabilitiesInfo.mMinMargins:Landroid/print/PrintAttributes$Margins;
         3: .line 537
            aload 0 /* this */
            areturn
        end local 1 // android.print.PrintAttributes$Margins margins
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    4     1  margins  Landroid/print/PrintAttributes$Margins;
    MethodParameters:
         Name  Flags
      margins  

  public android.print.PrinterCapabilitiesInfo$Builder setColorModes(int, int);
    descriptor: (II)Landroid/print/PrinterCapabilitiesInfo$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // int colorModes
        start local 2 // int defaultColorMode
         0: .line 564
            iload 1 /* colorModes */
         1: .line 565
            invokedynamic accept()Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  android/print/PrinterCapabilitiesInfo$Builder.lambda$0(I)V (6)
                  (I)V
         2: .line 564
            invokestatic android.print.PrinterCapabilitiesInfo.enforceValidMask:(ILjava/util/function/IntConsumer;)V
         3: .line 566
            iload 2 /* defaultColorMode */
            invokestatic android.print.PrintAttributes.enforceValidColorMode:(I)V
         4: .line 567
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            iload 1 /* colorModes */
            putfield android.print.PrinterCapabilitiesInfo.mColorModes:I
         5: .line 568
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_2
            iload 2 /* defaultColorMode */
            iastore
         6: .line 569
            aload 0 /* this */
            areturn
        end local 2 // int defaultColorMode
        end local 1 // int colorModes
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    7     1        colorModes  I
            0    7     2  defaultColorMode  I
    MethodParameters:
                  Name  Flags
      colorModes        
      defaultColorMode  

  public android.print.PrinterCapabilitiesInfo$Builder setDuplexModes(int, int);
    descriptor: (II)Landroid/print/PrinterCapabilitiesInfo$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // int duplexModes
        start local 2 // int defaultDuplexMode
         0: .line 591
            iload 1 /* duplexModes */
         1: .line 592
            invokedynamic accept()Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  android/print/PrinterCapabilitiesInfo$Builder.lambda$1(I)V (6)
                  (I)V
         2: .line 591
            invokestatic android.print.PrinterCapabilitiesInfo.enforceValidMask:(ILjava/util/function/IntConsumer;)V
         3: .line 593
            iload 2 /* defaultDuplexMode */
            invokestatic android.print.PrintAttributes.enforceValidDuplexMode:(I)V
         4: .line 594
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            iload 1 /* duplexModes */
            putfield android.print.PrinterCapabilitiesInfo.mDuplexModes:I
         5: .line 595
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_3
            iload 2 /* defaultDuplexMode */
            iastore
         6: .line 596
            aload 0 /* this */
            areturn
        end local 2 // int defaultDuplexMode
        end local 1 // int duplexModes
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    7     1        duplexModes  I
            0    7     2  defaultDuplexMode  I
    MethodParameters:
                   Name  Flags
      duplexModes        
      defaultDuplexMode  

  public android.print.PrinterCapabilitiesInfo build();
    descriptor: ()Landroid/print/PrinterCapabilitiesInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
         0: .line 614
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMediaSizes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 615
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "No media size specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_0
            iaload
            iconst_m1
            if_icmpne 4
         3: .line 618
            new java.lang.IllegalStateException
            dup
            ldc "No default media size specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
            ifnull 5
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mResolutions:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 6
         5: .line 621
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "No resolution specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_1
            iaload
            iconst_m1
            if_icmpne 8
         7: .line 624
            new java.lang.IllegalStateException
            dup
            ldc "No default resolution specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mColorModes:I
            ifne 10
         9: .line 627
            new java.lang.IllegalStateException
            dup
            ldc "No color mode specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iconst_2
            iaload
            iconst_m1
            if_icmpne 12
        11: .line 630
            new java.lang.IllegalStateException
            dup
            ldc "No default color mode specified."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDuplexModes:I
            ifne 16
        13: .line 633
            aload 0 /* this */
            getstatic android.print.PrintAttributes.DUPLEX_MODE_NONE:I
        14: .line 634
            getstatic android.print.PrintAttributes.DUPLEX_MODE_NONE:I
        15: .line 633
            invokevirtual android.print.PrinterCapabilitiesInfo$Builder.setDuplexModes:(II)Landroid/print/PrinterCapabilitiesInfo$Builder;
            pop
        16: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mMinMargins:Landroid/print/PrintAttributes$Margins;
            ifnonnull 18
        17: .line 637
            new java.lang.IllegalArgumentException
            dup
            ldc "margins cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            areturn
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Landroid/print/PrinterCapabilitiesInfo$Builder;

  private void throwIfDefaultAlreadySpecified(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.print.PrinterCapabilitiesInfo$Builder this
        start local 1 // int propertyIndex
         0: .line 643
            aload 0 /* this */
            getfield android.print.PrinterCapabilitiesInfo$Builder.mPrototype:Landroid/print/PrinterCapabilitiesInfo;
            getfield android.print.PrinterCapabilitiesInfo.mDefaults:[I
            iload 1 /* propertyIndex */
            iaload
            iconst_m1
            if_icmpeq 2
         1: .line 644
            new java.lang.IllegalArgumentException
            dup
            ldc "Default already specified."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 646
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int propertyIndex
        end local 0 // android.print.PrinterCapabilitiesInfo$Builder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/print/PrinterCapabilitiesInfo$Builder;
            0    3     1  propertyIndex  I
    MethodParameters:
               Name  Flags
      propertyIndex  

  private static void lambda$0(int);
    descriptor: (I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int currentMode
         0: .line 565
            iload 0 /* currentMode */
            invokestatic android.print.PrintAttributes.enforceValidColorMode:(I)V
            return
        end local 0 // int currentMode
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  currentMode  I

  private static void lambda$1(int);
    descriptor: (I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int currentMode
         0: .line 592
            iload 0 /* currentMode */
            invokestatic android.print.PrintAttributes.enforceValidDuplexMode:(I)V
            return
        end local 0 // int currentMode
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  currentMode  I
}
SourceFile: "PrinterCapabilitiesInfo.java"
NestHost: android.print.PrinterCapabilitiesInfo
InnerClasses:
  public final Margins = android.print.PrintAttributes$Margins of android.print.PrintAttributes
  public final MediaSize = android.print.PrintAttributes$MediaSize of android.print.PrintAttributes
  public final Resolution = android.print.PrintAttributes$Resolution of android.print.PrintAttributes
  public final Builder = android.print.PrinterCapabilitiesInfo$Builder of android.print.PrinterCapabilitiesInfo
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles