public final class com.google.common.math.Quantiles
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.common.math.Quantiles
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.google.common.math.Quantiles this
0: .line 131
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.google.common.math.Quantiles this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/math/Quantiles;
public static com.google.common.math.Quantiles$ScaleAndIndex median();
descriptor: ()Lcom/google/common/math/Quantiles$ScaleAndIndex;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 135
iconst_2
invokestatic com.google.common.math.Quantiles.scale:(I)Lcom/google/common/math/Quantiles$Scale;
iconst_1
invokevirtual com.google.common.math.Quantiles$Scale.index:(I)Lcom/google/common/math/Quantiles$ScaleAndIndex;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.google.common.math.Quantiles$Scale quartiles();
descriptor: ()Lcom/google/common/math/Quantiles$Scale;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 140
iconst_4
invokestatic com.google.common.math.Quantiles.scale:(I)Lcom/google/common/math/Quantiles$Scale;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.google.common.math.Quantiles$Scale percentiles();
descriptor: ()Lcom/google/common/math/Quantiles$Scale;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 145
bipush 100
invokestatic com.google.common.math.Quantiles.scale:(I)Lcom/google/common/math/Quantiles$Scale;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.google.common.math.Quantiles$Scale scale(int);
descriptor: (I)Lcom/google/common/math/Quantiles$Scale;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int scale
0: .line 155
new com.google.common.math.Quantiles$Scale
dup
iload 0 /* scale */
invokespecial com.google.common.math.Quantiles$Scale.<init>:(I)V
areturn
end local 0 // int scale
LocalVariableTable:
Start End Slot Name Signature
0 1 0 scale I
MethodParameters:
Name Flags
scale
private static boolean containsNaN(double[]);
descriptor: ([D)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=6, args_size=1
start local 0 // double[] dataset
0: .line 442
aload 0 /* dataset */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: double[] top top int int double[]
StackMap stack:
1: aload 5
iload 3
daload
dstore 1 /* value */
start local 1 // double value
2: .line 443
dload 1 /* value */
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 4
3: .line 444
iconst_1
ireturn
end local 1 // double value
4: .line 442
StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: .line 447
iconst_0
ireturn
end local 0 // double[] dataset
LocalVariableTable:
Start End Slot Name Signature
0 7 0 dataset [D
2 4 1 value D
MethodParameters:
Name Flags
dataset
private static double interpolate(double, double, double, double);
descriptor: (DDDD)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 // double lower
start local 2 // double upper
start local 4 // double remainder
start local 6 // double scale
0: .line 456
dload 0 /* lower */
ldc -Infinity
dcmpl
ifne 4
1: .line 457
dload 2 /* upper */
ldc Infinity
dcmpl
ifne 3
2: .line 459
ldc NaN
dreturn
3: .line 462
StackMap locals:
StackMap stack:
ldc -Infinity
dreturn
4: .line 464
StackMap locals:
StackMap stack:
dload 2 /* upper */
ldc Infinity
dcmpl
ifne 6
5: .line 466
ldc Infinity
dreturn
6: .line 468
StackMap locals:
StackMap stack:
dload 0 /* lower */
dload 2 /* upper */
dload 0 /* lower */
dsub
dload 4 /* remainder */
dmul
dload 6 /* scale */
ddiv
dadd
dreturn
end local 6 // double scale
end local 4 // double remainder
end local 2 // double upper
end local 0 // double lower
LocalVariableTable:
Start End Slot Name Signature
0 7 0 lower D
0 7 2 upper D
0 7 4 remainder D
0 7 6 scale D
MethodParameters:
Name Flags
lower
upper
remainder
scale
private static void checkIndex(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 // int index
start local 1 // int scale
0: .line 472
iload 0 /* index */
iflt 1
iload 0 /* index */
iload 1 /* scale */
if_icmple 4
1: .line 473
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
2: .line 474
new java.lang.StringBuilder
dup
ldc "Quantile indexes must be between 0 and the scale, which is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1 /* scale */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: .line 473
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 476
StackMap locals:
StackMap stack:
return
end local 1 // int scale
end local 0 // int index
LocalVariableTable:
Start End Slot Name Signature
0 5 0 index I
0 5 1 scale I
MethodParameters:
Name Flags
index
scale
private static double[] longsToDoubles(long[]);
descriptor: ([J)[D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // long[] longs
0: .line 479
aload 0 /* longs */
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 480
iload 1 /* len */
newarray 7
astore 2 /* doubles */
start local 2 // double[] doubles
2: .line 481
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 6
4: .line 482
StackMap locals: int double[] int
StackMap stack:
aload 2 /* doubles */
iload 3 /* i */
aload 0 /* longs */
iload 3 /* i */
laload
l2d
dastore
5: .line 481
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 1 /* len */
if_icmplt 4
end local 3 // int i
7: .line 484
aload 2 /* doubles */
areturn
end local 2 // double[] doubles
end local 1 // int len
end local 0 // long[] longs
LocalVariableTable:
Start End Slot Name Signature
0 8 0 longs [J
1 8 1 len I
2 8 2 doubles [D
3 7 3 i I
MethodParameters:
Name Flags
longs
private static double[] intsToDoubles(int[]);
descriptor: ([I)[D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // int[] ints
0: .line 488
aload 0 /* ints */
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 489
iload 1 /* len */
newarray 7
astore 2 /* doubles */
start local 2 // double[] doubles
2: .line 490
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 6
4: .line 491
StackMap locals: int double[] int
StackMap stack:
aload 2 /* doubles */
iload 3 /* i */
aload 0 /* ints */
iload 3 /* i */
iaload
i2d
dastore
5: .line 490
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 1 /* len */
if_icmplt 4
end local 3 // int i
7: .line 493
aload 2 /* doubles */
areturn
end local 2 // double[] doubles
end local 1 // int len
end local 0 // int[] ints
LocalVariableTable:
Start End Slot Name Signature
0 8 0 ints [I
1 8 1 len I
2 8 2 doubles [D
3 7 3 i I
MethodParameters:
Name Flags
ints
private static void selectInPlace(int, double[], int, int);
descriptor: (I[DII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 // int required
start local 1 // double[] array
start local 2 // int from
start local 3 // int to
0: .line 520
iload 0 /* required */
iload 2 /* from */
if_icmpne 16
1: .line 521
iload 2 /* from */
istore 4 /* min */
start local 4 // int min
2: .line 522
iload 2 /* from */
iconst_1
iadd
istore 5 /* index */
start local 5 // int index
3: goto 7
4: .line 523
StackMap locals: int int
StackMap stack:
aload 1 /* array */
iload 4 /* min */
daload
aload 1 /* array */
iload 5 /* index */
daload
dcmpl
ifle 6
5: .line 524
iload 5 /* index */
istore 4 /* min */
6: .line 522
StackMap locals:
StackMap stack:
iinc 5 /* index */ 1
StackMap locals:
StackMap stack:
7: iload 5 /* index */
iload 3 /* to */
if_icmple 4
end local 5 // int index
8: .line 527
iload 4 /* min */
iload 2 /* from */
if_icmpeq 10
9: .line 528
aload 1 /* array */
iload 4 /* min */
iload 2 /* from */
invokestatic com.google.common.math.Quantiles.swap:([DII)V
10: .line 530
StackMap locals:
StackMap stack:
return
end local 4 // int min
11: .line 536
StackMap locals:
StackMap stack:
aload 1 /* array */
iload 2 /* from */
iload 3 /* to */
invokestatic com.google.common.math.Quantiles.partition:([DII)I
istore 4 /* partitionPoint */
start local 4 // int partitionPoint
12: .line 537
iload 4 /* partitionPoint */
iload 0 /* required */
if_icmplt 14
13: .line 538
iload 4 /* partitionPoint */
iconst_1
isub
istore 3 /* to */
14: .line 540
StackMap locals: int
StackMap stack:
iload 4 /* partitionPoint */
iload 0 /* required */
if_icmpgt 16
15: .line 541
iload 4 /* partitionPoint */
iconst_1
iadd
istore 2 /* from */
end local 4 // int partitionPoint
16: .line 535
StackMap locals:
StackMap stack:
iload 3 /* to */
iload 2 /* from */
if_icmpgt 11
17: .line 544
return
end local 3 // int to
end local 2 // int from
end local 1 // double[] array
end local 0 // int required
LocalVariableTable:
Start End Slot Name Signature
0 18 0 required I
0 18 1 array [D
0 18 2 from I
0 18 3 to I
2 11 4 min I
3 8 5 index I
12 16 4 partitionPoint I
MethodParameters:
Name Flags
required
array
from
to
private static int partition(double[], int, int);
descriptor: ([DII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 // double[] array
start local 1 // int from
start local 2 // int to
0: .line 556
aload 0 /* array */
iload 1 /* from */
iload 2 /* to */
invokestatic com.google.common.math.Quantiles.movePivotToStartOfSlice:([DII)V
1: .line 557
aload 0 /* array */
iload 1 /* from */
daload
dstore 3 /* pivot */
start local 3 // double pivot
2: .line 561
iload 2 /* to */
istore 5 /* partitionPoint */
start local 5 // int partitionPoint
3: .line 562
iload 2 /* to */
istore 6 /* i */
start local 6 // int i
4: goto 9
5: .line 563
StackMap locals: double int int
StackMap stack:
aload 0 /* array */
iload 6 /* i */
daload
dload 3 /* pivot */
dcmpl
ifle 8
6: .line 564
aload 0 /* array */
iload 5 /* partitionPoint */
iload 6 /* i */
invokestatic com.google.common.math.Quantiles.swap:([DII)V
7: .line 565
iinc 5 /* partitionPoint */ -1
8: .line 562
StackMap locals:
StackMap stack:
iinc 6 /* i */ -1
StackMap locals:
StackMap stack:
9: iload 6 /* i */
iload 1 /* from */
if_icmpgt 5
end local 6 // int i
10: .line 572
aload 0 /* array */
iload 1 /* from */
iload 5 /* partitionPoint */
invokestatic com.google.common.math.Quantiles.swap:([DII)V
11: .line 573
iload 5 /* partitionPoint */
ireturn
end local 5 // int partitionPoint
end local 3 // double pivot
end local 2 // int to
end local 1 // int from
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 12 0 array [D
0 12 1 from I
0 12 2 to I
2 12 3 pivot D
3 12 5 partitionPoint I
4 10 6 i I
MethodParameters:
Name Flags
array
from
to
private static void movePivotToStartOfSlice(double[], int, int);
descriptor: ([DII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 // double[] array
start local 1 // int from
start local 2 // int to
0: .line 583
iload 1 /* from */
iload 2 /* to */
iadd
iconst_1
iushr
istore 3 /* mid */
start local 3 // int mid
1: .line 588
aload 0 /* array */
iload 2 /* to */
daload
aload 0 /* array */
iload 3 /* mid */
daload
dcmpg
ifge 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4 /* toLessThanMid */
start local 4 // boolean toLessThanMid
4: .line 589
aload 0 /* array */
iload 3 /* mid */
daload
aload 0 /* array */
iload 1 /* from */
daload
dcmpg
ifge 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5 /* midLessThanFrom */
start local 5 // boolean midLessThanFrom
7: .line 590
aload 0 /* array */
iload 2 /* to */
daload
aload 0 /* array */
iload 1 /* from */
daload
dcmpg
ifge 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 6 /* toLessThanFrom */
start local 6 // boolean toLessThanFrom
10: .line 591
iload 4 /* toLessThanMid */
iload 5 /* midLessThanFrom */
if_icmpne 13
11: .line 593
aload 0 /* array */
iload 3 /* mid */
iload 1 /* from */
invokestatic com.google.common.math.Quantiles.swap:([DII)V
12: .line 594
goto 15
StackMap locals: int
StackMap stack:
13: iload 4 /* toLessThanMid */
iload 6 /* toLessThanFrom */
if_icmpeq 15
14: .line 596
aload 0 /* array */
iload 1 /* from */
iload 2 /* to */
invokestatic com.google.common.math.Quantiles.swap:([DII)V
15: .line 599
StackMap locals:
StackMap stack:
return
end local 6 // boolean toLessThanFrom
end local 5 // boolean midLessThanFrom
end local 4 // boolean toLessThanMid
end local 3 // int mid
end local 2 // int to
end local 1 // int from
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 16 0 array [D
0 16 1 from I
0 16 2 to I
1 16 3 mid I
4 16 4 toLessThanMid Z
7 16 5 midLessThanFrom Z
10 16 6 toLessThanFrom Z
MethodParameters:
Name Flags
array
from
to
private static void selectAllInPlace(int[], int, int, double[], int, int);
descriptor: ([III[DII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=6
start local 0 // int[] allRequired
start local 1 // int requiredFrom
start local 2 // int requiredTo
start local 3 // double[] array
start local 4 // int from
start local 5 // int to
0: .line 609
aload 0 /* allRequired */
iload 1 /* requiredFrom */
iload 2 /* requiredTo */
iload 4 /* from */
iload 5 /* to */
invokestatic com.google.common.math.Quantiles.chooseNextSelection:([IIIII)I
istore 6 /* requiredChosen */
start local 6 // int requiredChosen
1: .line 610
aload 0 /* allRequired */
iload 6 /* requiredChosen */
iaload
istore 7 /* required */
start local 7 // int required
2: .line 613
iload 7 /* required */
aload 3 /* array */
iload 4 /* from */
iload 5 /* to */
invokestatic com.google.common.math.Quantiles.selectInPlace:(I[DII)V
3: .line 616
iload 6 /* requiredChosen */
iconst_1
isub
istore 8 /* requiredBelow */
start local 8 // int requiredBelow
4: .line 617
goto 6
5: .line 618
StackMap locals: int int int
StackMap stack:
iinc 8 /* requiredBelow */ -1
6: .line 617
StackMap locals:
StackMap stack:
iload 8 /* requiredBelow */
iload 1 /* requiredFrom */
if_icmplt 7
aload 0 /* allRequired */
iload 8 /* requiredBelow */
iaload
iload 7 /* required */
if_icmpeq 5
7: .line 620
StackMap locals:
StackMap stack:
iload 8 /* requiredBelow */
iload 1 /* requiredFrom */
if_icmplt 9
8: .line 621
aload 0 /* allRequired */
iload 1 /* requiredFrom */
iload 8 /* requiredBelow */
aload 3 /* array */
iload 4 /* from */
iload 7 /* required */
iconst_1
isub
invokestatic com.google.common.math.Quantiles.selectAllInPlace:([III[DII)V
9: .line 625
StackMap locals:
StackMap stack:
iload 6 /* requiredChosen */
iconst_1
iadd
istore 9 /* requiredAbove */
start local 9 // int requiredAbove
10: .line 626
goto 12
11: .line 627
StackMap locals: int
StackMap stack:
iinc 9 /* requiredAbove */ 1
12: .line 626
StackMap locals:
StackMap stack:
iload 9 /* requiredAbove */
iload 2 /* requiredTo */
if_icmpgt 13
aload 0 /* allRequired */
iload 9 /* requiredAbove */
iaload
iload 7 /* required */
if_icmpeq 11
13: .line 629
StackMap locals:
StackMap stack:
iload 9 /* requiredAbove */
iload 2 /* requiredTo */
if_icmpgt 15
14: .line 630
aload 0 /* allRequired */
iload 9 /* requiredAbove */
iload 2 /* requiredTo */
aload 3 /* array */
iload 7 /* required */
iconst_1
iadd
iload 5 /* to */
invokestatic com.google.common.math.Quantiles.selectAllInPlace:([III[DII)V
15: .line 632
StackMap locals:
StackMap stack:
return
end local 9 // int requiredAbove
end local 8 // int requiredBelow
end local 7 // int required
end local 6 // int requiredChosen
end local 5 // int to
end local 4 // int from
end local 3 // double[] array
end local 2 // int requiredTo
end local 1 // int requiredFrom
end local 0 // int[] allRequired
LocalVariableTable:
Start End Slot Name Signature
0 16 0 allRequired [I
0 16 1 requiredFrom I
0 16 2 requiredTo I
0 16 3 array [D
0 16 4 from I
0 16 5 to I
1 16 6 requiredChosen I
2 16 7 required I
4 16 8 requiredBelow I
10 16 9 requiredAbove I
MethodParameters:
Name Flags
allRequired
requiredFrom
requiredTo
array
from
to
private static int chooseNextSelection(int[], int, int, int, int);
descriptor: ([IIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 // int[] allRequired
start local 1 // int requiredFrom
start local 2 // int requiredTo
start local 3 // int from
start local 4 // int to
0: .line 645
iload 1 /* requiredFrom */
iload 2 /* requiredTo */
if_icmpne 2
1: .line 646
iload 1 /* requiredFrom */
ireturn
2: .line 651
StackMap locals:
StackMap stack:
iload 3 /* from */
iload 4 /* to */
iadd
iconst_1
iushr
istore 5 /* centerFloor */
start local 5 // int centerFloor
3: .line 658
iload 1 /* requiredFrom */
istore 6 /* low */
start local 6 // int low
4: .line 659
iload 2 /* requiredTo */
istore 7 /* high */
start local 7 // int high
5: .line 660
goto 14
6: .line 661
StackMap locals: int int int
StackMap stack:
iload 6 /* low */
iload 7 /* high */
iadd
iconst_1
iushr
istore 8 /* mid */
start local 8 // int mid
7: .line 662
aload 0 /* allRequired */
iload 8 /* mid */
iaload
iload 5 /* centerFloor */
if_icmple 10
8: .line 663
iload 8 /* mid */
istore 7 /* high */
9: .line 664
goto 14
StackMap locals: int
StackMap stack:
10: aload 0 /* allRequired */
iload 8 /* mid */
iaload
iload 5 /* centerFloor */
if_icmpge 13
11: .line 665
iload 8 /* mid */
istore 6 /* low */
12: .line 666
goto 14
13: .line 667
StackMap locals:
StackMap stack:
iload 8 /* mid */
ireturn
end local 8 // int mid
14: .line 660
StackMap locals:
StackMap stack:
iload 7 /* high */
iload 6 /* low */
iconst_1
iadd
if_icmpgt 6
15: .line 672
iload 3 /* from */
iload 4 /* to */
iadd
aload 0 /* allRequired */
iload 6 /* low */
iaload
isub
aload 0 /* allRequired */
iload 7 /* high */
iaload
isub
ifle 17
16: .line 673
iload 7 /* high */
ireturn
17: .line 675
StackMap locals:
StackMap stack:
iload 6 /* low */
ireturn
end local 7 // int high
end local 6 // int low
end local 5 // int centerFloor
end local 4 // int to
end local 3 // int from
end local 2 // int requiredTo
end local 1 // int requiredFrom
end local 0 // int[] allRequired
LocalVariableTable:
Start End Slot Name Signature
0 18 0 allRequired [I
0 18 1 requiredFrom I
0 18 2 requiredTo I
0 18 3 from I
0 18 4 to I
3 18 5 centerFloor I
4 18 6 low I
5 18 7 high I
7 14 8 mid I
MethodParameters:
Name Flags
allRequired
requiredFrom
requiredTo
from
to
private static void swap(double[], int, int);
descriptor: ([DII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // double[] array
start local 1 // int i
start local 2 // int j
0: .line 681
aload 0 /* array */
iload 1 /* i */
daload
dstore 3 /* temp */
start local 3 // double temp
1: .line 682
aload 0 /* array */
iload 1 /* i */
aload 0 /* array */
iload 2 /* j */
daload
dastore
2: .line 683
aload 0 /* array */
iload 2 /* j */
dload 3 /* temp */
dastore
3: .line 684
return
end local 3 // double temp
end local 2 // int j
end local 1 // int i
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 4 0 array [D
0 4 1 i I
0 4 2 j I
1 4 3 temp D
MethodParameters:
Name Flags
array
i
j
}
SourceFile: "Quantiles.java"
NestMembers:
com.google.common.math.Quantiles$Scale com.google.common.math.Quantiles$ScaleAndIndex com.google.common.math.Quantiles$ScaleAndIndexes
InnerClasses:
public final Scale = com.google.common.math.Quantiles$Scale of com.google.common.math.Quantiles
public final ScaleAndIndex = com.google.common.math.Quantiles$ScaleAndIndex of com.google.common.math.Quantiles
public final ScaleAndIndexes = com.google.common.math.Quantiles$ScaleAndIndexes of com.google.common.math.Quantiles
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
com.google.common.annotations.GwtIncompatible()