public class com.android.internal.util.Preconditions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.util.Preconditions
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.util.Preconditions this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.android.internal.util.Preconditions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/util/Preconditions;

  public static void checkArgument(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean expression
         0: .line 32
            iload 0 /* expression */
            ifne 2
         1: .line 33
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 35
      StackMap locals:
      StackMap stack:
            return
        end local 0 // boolean expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  expression  Z
    MethodParameters:
            Name  Flags
      expression  

  public static void checkArgument(boolean, java.lang.Object);
    descriptor: (ZLjava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // boolean expression
        start local 1 // java.lang.Object errorMessage
         0: .line 46
            iload 0 /* expression */
            ifne 2
         1: .line 47
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* errorMessage */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 49
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object errorMessage
        end local 0 // boolean expression
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0    expression  Z
            0    3     1  errorMessage  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      expression    
      errorMessage  final

  public static void checkArgument(boolean, java.lang.String, java.lang.Object[]);
    descriptor: (ZLjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // boolean expression
        start local 1 // java.lang.String messageTemplate
        start local 2 // java.lang.Object[] messageArgs
         0: .line 63
            iload 0 /* expression */
            ifne 2
         1: .line 64
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* messageTemplate */
            aload 2 /* messageArgs */
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 66
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] messageArgs
        end local 1 // java.lang.String messageTemplate
        end local 0 // boolean expression
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0       expression  Z
            0    3     1  messageTemplate  Ljava/lang/String;
            0    3     2      messageArgs  [Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      expression       
      messageTemplate  final
      messageArgs      final

  public static <T extends java.lang.CharSequence> T checkStringNotEmpty();
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence string
         0: .line 77
            aload 0 /* string */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 78
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            areturn
        end local 0 // java.lang.CharSequence string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  string  TT;
    Signature: <T::Ljava/lang/CharSequence;>(TT;)TT;
    MethodParameters:
        Name  Flags
      string  final

  public static <T extends java.lang.CharSequence> T checkStringNotEmpty(T, );
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/Object;)Ljava/lang/CharSequence;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.CharSequence string
        start local 1 // java.lang.Object errorMessage
         0: .line 95
            aload 0 /* string */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 96
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* errorMessage */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            areturn
        end local 1 // java.lang.Object errorMessage
        end local 0 // java.lang.CharSequence string
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0        string  TT;
            0    3     1  errorMessage  Ljava/lang/Object;
    Signature: <T::Ljava/lang/CharSequence;>(TT;Ljava/lang/Object;)TT;
    MethodParameters:
              Name  Flags
      string        final
      errorMessage  final

  public static <T> T checkNotNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object reference
         0: .line 110
            aload 0 /* reference */
            ifnonnull 2
         1: .line 111
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* reference */
            areturn
        end local 0 // java.lang.Object reference
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  reference  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
           Name  Flags
      reference  final

  public static <T> T checkNotNull(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object reference
        start local 1 // java.lang.Object errorMessage
         0: .line 127
            aload 0 /* reference */
            ifnonnull 2
         1: .line 128
            new java.lang.NullPointerException
            dup
            aload 1 /* errorMessage */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* reference */
            areturn
        end local 1 // java.lang.Object errorMessage
        end local 0 // java.lang.Object reference
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0     reference  TT;
            0    3     1  errorMessage  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/Object;)TT;
    MethodParameters:
              Name  Flags
      reference     final
      errorMessage  final

  public static <T> T checkNotNull(T, java.lang.String, []);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object reference
        start local 1 // java.lang.String messageTemplate
        start local 2 // java.lang.Object[] messageArgs
         0: .line 147
            aload 0 /* reference */
            ifnonnull 2
         1: .line 148
            new java.lang.NullPointerException
            dup
            aload 1 /* messageTemplate */
            aload 2 /* messageArgs */
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* reference */
            areturn
        end local 2 // java.lang.Object[] messageArgs
        end local 1 // java.lang.String messageTemplate
        end local 0 // java.lang.Object reference
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0        reference  TT;
            0    3     1  messageTemplate  Ljava/lang/String;
            0    3     2      messageArgs  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;[Ljava/lang/Object;)TT;
    MethodParameters:
                 Name  Flags
      reference        final
      messageTemplate  final
      messageArgs      final

  public static void checkState(boolean, java.lang.String);
    descriptor: (ZLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // boolean expression
        start local 1 // java.lang.String message
         0: .line 162
            iload 0 /* expression */
            ifne 2
         1: .line 163
            new java.lang.IllegalStateException
            dup
            aload 1 /* message */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // boolean expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  expression  Z
            0    3     1     message  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      expression  final
      message     

  public static void checkState(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean expression
         0: .line 175
            iload 0 /* expression */
            aconst_null
            invokestatic com.android.internal.util.Preconditions.checkState:(ZLjava/lang/String;)V
         1: .line 176
            return
        end local 0 // boolean expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  expression  Z
    MethodParameters:
            Name  Flags
      expression  final

  public static int checkFlagsArgument(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int requestedFlags
        start local 1 // int allowedFlags
         0: .line 185
            iload 0 /* requestedFlags */
            iload 1 /* allowedFlags */
            iand
            iload 0 /* requestedFlags */
            if_icmpeq 5
         1: .line 186
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Requested flags 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 187
            iload 0 /* requestedFlags */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", but only 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 188
            iload 1 /* allowedFlags */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " are allowed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 186
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 191
      StackMap locals:
      StackMap stack:
            iload 0 /* requestedFlags */
            ireturn
        end local 1 // int allowedFlags
        end local 0 // int requestedFlags
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  requestedFlags  I
            0    6     1    allowedFlags  I
    MethodParameters:
                Name  Flags
      requestedFlags  final
      allowedFlags    final

  public static int checkArgumentNonnegative(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int value
        start local 1 // java.lang.String errorMessage
         0: .line 204
            iload 0 /* value */
            ifge 2
         1: .line 205
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* errorMessage */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 208
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 1 // java.lang.String errorMessage
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         value  I
            0    3     1  errorMessage  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      value         final
      errorMessage  final

  public static int checkArgumentNonnegative(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 220
            iload 0 /* value */
            ifge 2
         1: .line 221
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 224
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  final

  public static long checkArgumentNonnegative(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 235
            lload 0 /* value */
            lconst_0
            lcmp
            ifge 2
         1: .line 236
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 239
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  J
    MethodParameters:
       Name  Flags
      value  final

  public static long checkArgumentNonnegative(long, java.lang.String);
    descriptor: (JLjava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long value
        start local 2 // java.lang.String errorMessage
         0: .line 251
            lload 0 /* value */
            lconst_0
            lcmp
            ifge 2
         1: .line 252
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* errorMessage */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 255
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lreturn
        end local 2 // java.lang.String errorMessage
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         value  J
            0    3     2  errorMessage  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      value         final
      errorMessage  final

  public static int checkArgumentPositive(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int value
        start local 1 // java.lang.String errorMessage
         0: .line 267
            iload 0 /* value */
            ifgt 2
         1: .line 268
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* errorMessage */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 271
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 1 // java.lang.String errorMessage
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         value  I
            0    3     1  errorMessage  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      value         final
      errorMessage  final

  public static float checkArgumentFinite(float, java.lang.String);
    descriptor: (FLjava/lang/String;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // float value
        start local 1 // java.lang.String valueName
         0: .line 288
            fload 0 /* value */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 2
         1: .line 289
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be NaN"
            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
         2: .line 290
      StackMap locals:
      StackMap stack:
            fload 0 /* value */
            invokestatic java.lang.Float.isInfinite:(F)Z
            ifeq 4
         3: .line 291
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be infinite"
            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
         4: .line 294
      StackMap locals:
      StackMap stack:
            fload 0 /* value */
            freturn
        end local 1 // java.lang.String valueName
        end local 0 // float value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      value  F
            0    5     1  valueName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      value      final
      valueName  final

  public static float checkArgumentInRange(float, float, float, java.lang.String);
    descriptor: (FFFLjava/lang/String;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // float value
        start local 1 // float lower
        start local 2 // float upper
        start local 3 // java.lang.String valueName
         0: .line 314
            fload 0 /* value */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 2
         1: .line 315
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 3 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be NaN"
            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
         2: .line 316
      StackMap locals:
      StackMap stack:
            fload 0 /* value */
            fload 1 /* lower */
            fcmpg
            ifge 7
         3: .line 317
            new java.lang.IllegalArgumentException
            dup
         4: .line 319
            ldc "%s is out of range of [%f, %f] (too low)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            fload 1 /* lower */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_2
            fload 2 /* upper */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
         5: .line 318
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         6: .line 317
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 320
      StackMap locals:
      StackMap stack:
            fload 0 /* value */
            fload 2 /* upper */
            fcmpl
            ifle 12
         8: .line 321
            new java.lang.IllegalArgumentException
            dup
         9: .line 323
            ldc "%s is out of range of [%f, %f] (too high)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            fload 1 /* lower */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_2
            fload 2 /* upper */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
        10: .line 322
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        11: .line 321
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 326
      StackMap locals:
      StackMap stack:
            fload 0 /* value */
            freturn
        end local 3 // java.lang.String valueName
        end local 2 // float upper
        end local 1 // float lower
        end local 0 // float value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0      value  F
            0   13     1      lower  F
            0   13     2      upper  F
            0   13     3  valueName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      value      
      lower      
      upper      
      valueName  

  public static int checkArgumentInRange(int, int, int, java.lang.String);
    descriptor: (IIILjava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // int value
        start local 1 // int lower
        start local 2 // int upper
        start local 3 // java.lang.String valueName
         0: .line 343
            iload 0 /* value */
            iload 1 /* lower */
            if_icmpge 5
         1: .line 344
            new java.lang.IllegalArgumentException
            dup
         2: .line 346
            ldc "%s is out of range of [%d, %d] (too low)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 1 /* lower */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 2 /* upper */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 345
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 344
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 347
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            iload 2 /* upper */
            if_icmple 10
         6: .line 348
            new java.lang.IllegalArgumentException
            dup
         7: .line 350
            ldc "%s is out of range of [%d, %d] (too high)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 1 /* lower */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 2 /* upper */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         8: .line 349
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 348
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 353
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 3 // java.lang.String valueName
        end local 2 // int upper
        end local 1 // int lower
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      value  I
            0   11     1      lower  I
            0   11     2      upper  I
            0   11     3  valueName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      value      
      lower      
      upper      
      valueName  

  public static long checkArgumentInRange(long, long, long, java.lang.String);
    descriptor: (JJJLjava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // long value
        start local 2 // long lower
        start local 4 // long upper
        start local 6 // java.lang.String valueName
         0: .line 370
            lload 0 /* value */
            lload 2 /* lower */
            lcmp
            ifge 5
         1: .line 371
            new java.lang.IllegalArgumentException
            dup
         2: .line 373
            ldc "%s is out of range of [%d, %d] (too low)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* valueName */
            aastore
            dup
            iconst_1
            lload 2 /* lower */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 4 /* upper */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         3: .line 372
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 371
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 374
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lload 4 /* upper */
            lcmp
            ifle 10
         6: .line 375
            new java.lang.IllegalArgumentException
            dup
         7: .line 377
            ldc "%s is out of range of [%d, %d] (too high)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* valueName */
            aastore
            dup
            iconst_1
            lload 2 /* lower */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 4 /* upper */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         8: .line 376
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 375
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 380
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lreturn
        end local 6 // java.lang.String valueName
        end local 4 // long upper
        end local 2 // long lower
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      value  J
            0   11     2      lower  J
            0   11     4      upper  J
            0   11     6  valueName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      value      
      lower      
      upper      
      valueName  

  public static <T> T[] checkArrayElementsNotNull(T[], java.lang.String);
    descriptor: ([Ljava/lang/Object;Ljava/lang/String;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.lang.Object[] value
        start local 1 // java.lang.String valueName
         0: .line 394
            aload 0 /* value */
            ifnonnull 2
         1: .line 395
            new java.lang.NullPointerException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 398
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 9
         4: .line 399
      StackMap locals: int
      StackMap stack:
            aload 0 /* value */
            iload 2 /* i */
            aaload
            ifnonnull 8
         5: .line 400
            new java.lang.NullPointerException
            dup
         6: .line 401
            ldc "%s[%d] must not be null"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* valueName */
            aastore
            dup
            iconst_1
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         7: .line 400
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 398
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* value */
            arraylength
            if_icmplt 4
        end local 2 // int i
        10: .line 405
            aload 0 /* value */
            areturn
        end local 1 // java.lang.String valueName
        end local 0 // java.lang.Object[] value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      value  [Ljava/lang/Object;
            0   11     1  valueName  Ljava/lang/String;
            3   10     2          i  I
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/lang/String;)[TT;
    MethodParameters:
           Name  Flags
      value      final
      valueName  final

  public static <C extends java.util.Collection<T>, T> C checkCollectionElementsNotNull(C, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // java.util.Collection value
        start local 1 // java.lang.String valueName
         0: .line 421
            aload 0 /* value */
            ifnonnull 2
         1: .line 422
            new java.lang.NullPointerException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 425
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 2 /* ctr */
        start local 2 // long ctr
         3: .line 426
            aload 0 /* value */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: java.util.Collection java.lang.String long top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* elem */
        start local 4 // java.lang.Object elem
         5: .line 427
            aload 4 /* elem */
            ifnonnull 9
         6: .line 428
            new java.lang.NullPointerException
            dup
         7: .line 429
            ldc "%s[%d] must not be null"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* valueName */
            aastore
            dup
            iconst_1
            lload 2 /* ctr */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 428
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 431
      StackMap locals: java.util.Collection java.lang.String long java.lang.Object java.util.Iterator
      StackMap stack:
            lload 2 /* ctr */
            lconst_1
            ladd
            lstore 2 /* ctr */
        end local 4 // java.lang.Object elem
        10: .line 426
      StackMap locals: java.util.Collection java.lang.String long top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 434
            aload 0 /* value */
            areturn
        end local 2 // long ctr
        end local 1 // java.lang.String valueName
        end local 0 // java.util.Collection value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0      value  TC;
            0   12     1  valueName  Ljava/lang/String;
            3   12     2        ctr  J
            5   10     4       elem  TT;
    Signature: <C::Ljava/util/Collection<TT;>;T:Ljava/lang/Object;>(TC;Ljava/lang/String;)TC;
    MethodParameters:
           Name  Flags
      value      final
      valueName  final

  public static <T> java.util.Collection<T> checkCollectionNotEmpty(java.util.Collection<T>, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.Collection value
        start local 1 // java.lang.String valueName
         0: .line 450
            aload 0 /* value */
            ifnonnull 2
         1: .line 451
            new java.lang.NullPointerException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 4
         3: .line 454
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is empty"
            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
         4: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        end local 1 // java.lang.String valueName
        end local 0 // java.util.Collection value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      value  Ljava/util/Collection<TT;>;
            0    5     1  valueName  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;Ljava/lang/String;)Ljava/util/Collection<TT;>;
    MethodParameters:
           Name  Flags
      value      final
      valueName  final

  public static float[] checkArrayElementsInRange(float[], float, float, java.lang.String);
    descriptor: ([FFFLjava/lang/String;)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // float[] value
        start local 1 // float lower
        start local 2 // float upper
        start local 3 // java.lang.String valueName
         0: .line 477
            aload 0 /* value */
            new java.lang.StringBuilder
            dup
            aload 3 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 479
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 19
         3: .line 480
      StackMap locals: int
      StackMap stack:
            aload 0 /* value */
            iload 4 /* i */
            faload
            fstore 5 /* v */
        start local 5 // float v
         4: .line 482
            fload 5 /* v */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 6
         5: .line 483
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 3 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] must not be NaN"
            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
         6: .line 484
      StackMap locals: float
      StackMap stack:
            fload 5 /* v */
            fload 1 /* lower */
            fcmpg
            ifge 12
         7: .line 485
            new java.lang.IllegalArgumentException
            dup
         8: .line 486
            ldc "%s[%d] is out of range of [%f, %f] (too low)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 487
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            fload 1 /* lower */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_3
            fload 2 /* upper */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
        10: .line 486
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        11: .line 485
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 488
      StackMap locals:
      StackMap stack:
            fload 5 /* v */
            fload 2 /* upper */
            fcmpl
            ifle 18
        13: .line 489
            new java.lang.IllegalArgumentException
            dup
        14: .line 490
            ldc "%s[%d] is out of range of [%f, %f] (too high)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 491
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            fload 1 /* lower */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_3
            fload 2 /* upper */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
        16: .line 490
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 489
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // float v
        18: .line 479
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 0 /* value */
            arraylength
            if_icmplt 3
        end local 4 // int i
        20: .line 495
            aload 0 /* value */
            areturn
        end local 3 // java.lang.String valueName
        end local 2 // float upper
        end local 1 // float lower
        end local 0 // float[] value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0      value  [F
            0   21     1      lower  F
            0   21     2      upper  F
            0   21     3  valueName  Ljava/lang/String;
            2   20     4          i  I
            4   18     5          v  F
    MethodParameters:
           Name  Flags
      value      
      lower      
      upper      
      valueName  

  public static int[] checkArrayElementsInRange(int[], int, int, java.lang.String);
    descriptor: ([IIILjava/lang/String;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // int[] value
        start local 1 // int lower
        start local 2 // int upper
        start local 3 // java.lang.String valueName
         0: .line 513
            aload 0 /* value */
            new java.lang.StringBuilder
            dup
            aload 3 /* valueName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must not be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 515
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 17
         3: .line 516
      StackMap locals: int
      StackMap stack:
            aload 0 /* value */
            iload 4 /* i */
            iaload
            istore 5 /* v */
        start local 5 // int v
         4: .line 518
            iload 5 /* v */
            iload 1 /* lower */
            if_icmpge 10
         5: .line 519
            new java.lang.IllegalArgumentException
            dup
         6: .line 520
            ldc "%s[%d] is out of range of [%d, %d] (too low)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 521
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 1 /* lower */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 2 /* upper */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         8: .line 520
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 519
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 522
      StackMap locals: int
      StackMap stack:
            iload 5 /* v */
            iload 2 /* upper */
            if_icmple 16
        11: .line 523
            new java.lang.IllegalArgumentException
            dup
        12: .line 524
            ldc "%s[%d] is out of range of [%d, %d] (too high)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 525
            aload 3 /* valueName */
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 1 /* lower */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 2 /* upper */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        14: .line 524
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        15: .line 523
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int v
        16: .line 515
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 0 /* value */
            arraylength
            if_icmplt 3
        end local 4 // int i
        18: .line 529
            aload 0 /* value */
            areturn
        end local 3 // java.lang.String valueName
        end local 2 // int upper
        end local 1 // int lower
        end local 0 // int[] value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0      value  [I
            0   19     1      lower  I
            0   19     2      upper  I
            0   19     3  valueName  Ljava/lang/String;
            2   18     4          i  I
            4   16     5          v  I
    MethodParameters:
           Name  Flags
      value      
      lower      
      upper      
      valueName  
}
SourceFile: "Preconditions.java"