final class com.google.common.collect.Sets$CartesianSet<E> extends com.google.common.collect.ForwardingCollection<java.util.List<E>> implements java.util.Set<java.util.List<E>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.Sets$CartesianSet
  super_class: com.google.common.collect.ForwardingCollection
{
  private final transient com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableSet<E>> axes;
    descriptor: Lcom/google/common/collect/ImmutableList;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Lcom/google/common/collect/ImmutableList<Lcom/google/common/collect/ImmutableSet<TE;>;>;

  private final transient com.google.common.collect.CartesianList<E> delegate;
    descriptor: Lcom/google/common/collect/CartesianList;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Lcom/google/common/collect/CartesianList<TE;>;

  static <E> java.util.Set<java.util.List<E>> create(java.util.List<? extends java.util.Set<? extends E>>);
    descriptor: (Ljava/util/List;)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.util.List sets
         0: .line 1392
            new com.google.common.collect.ImmutableList$Builder
            dup
            aload 0 /* sets */
            invokeinterface java.util.List.size:()I
            invokespecial com.google.common.collect.ImmutableList$Builder.<init>:(I)V
            astore 1 /* axesBuilder */
        start local 1 // com.google.common.collect.ImmutableList$Builder axesBuilder
         1: .line 1393
            aload 0 /* sets */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.List com.google.common.collect.ImmutableList$Builder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* set */
        start local 2 // java.util.Set set
         3: .line 1394
            aload 2 /* set */
            invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
            astore 4 /* copy */
        start local 4 // com.google.common.collect.ImmutableSet copy
         4: .line 1395
            aload 4 /* copy */
            invokevirtual com.google.common.collect.ImmutableSet.isEmpty:()Z
            ifeq 6
         5: .line 1396
            invokestatic com.google.common.collect.ImmutableSet.of:()Lcom/google/common/collect/ImmutableSet;
            areturn
         6: .line 1398
      StackMap locals: java.util.List com.google.common.collect.ImmutableList$Builder java.util.Set java.util.Iterator com.google.common.collect.ImmutableSet
      StackMap stack:
            aload 1 /* axesBuilder */
            aload 4 /* copy */
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        end local 4 // com.google.common.collect.ImmutableSet copy
        end local 2 // java.util.Set set
         7: .line 1393
      StackMap locals: java.util.List com.google.common.collect.ImmutableList$Builder top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 1400
            aload 1 /* axesBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
            astore 2 /* axes */
        start local 2 // com.google.common.collect.ImmutableList axes
         9: .line 1402
            new com.google.common.collect.Sets$CartesianSet$1
            dup
            aload 2 /* axes */
            invokespecial com.google.common.collect.Sets$CartesianSet$1.<init>:(Lcom/google/common/collect/ImmutableList;)V
        10: .line 1401
            astore 3 /* listAxes */
        start local 3 // com.google.common.collect.ImmutableList listAxes
        11: .line 1418
            new com.google.common.collect.Sets$CartesianSet
            dup
            aload 2 /* axes */
            new com.google.common.collect.CartesianList
            dup
            aload 3 /* listAxes */
            invokespecial com.google.common.collect.CartesianList.<init>:(Lcom/google/common/collect/ImmutableList;)V
            invokespecial com.google.common.collect.Sets$CartesianSet.<init>:(Lcom/google/common/collect/ImmutableList;Lcom/google/common/collect/CartesianList;)V
            areturn
        end local 3 // com.google.common.collect.ImmutableList listAxes
        end local 2 // com.google.common.collect.ImmutableList axes
        end local 1 // com.google.common.collect.ImmutableList$Builder axesBuilder
        end local 0 // java.util.List sets
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         sets  Ljava/util/List<+Ljava/util/Set<+TE;>;>;
            1   12     1  axesBuilder  Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/collect/ImmutableSet<TE;>;>;
            3    7     2          set  Ljava/util/Set<+TE;>;
            4    7     4         copy  Lcom/google/common/collect/ImmutableSet<TE;>;
            9   12     2         axes  Lcom/google/common/collect/ImmutableList<Lcom/google/common/collect/ImmutableSet<TE;>;>;
           11   12     3     listAxes  Lcom/google/common/collect/ImmutableList<Ljava/util/List<TE;>;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+Ljava/util/Set<+TE;>;>;)Ljava/util/Set<Ljava/util/List<TE;>;>;
    MethodParameters:
      Name  Flags
      sets  

  private void <init>(com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableSet<E>>, com.google.common.collect.CartesianList<E>);
    descriptor: (Lcom/google/common/collect/ImmutableList;Lcom/google/common/collect/CartesianList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.google.common.collect.Sets$CartesianSet this
        start local 1 // com.google.common.collect.ImmutableList axes
        start local 2 // com.google.common.collect.CartesianList delegate
         0: .line 1421
            aload 0 /* this */
            invokespecial com.google.common.collect.ForwardingCollection.<init>:()V
         1: .line 1422
            aload 0 /* this */
            aload 1 /* axes */
            putfield com.google.common.collect.Sets$CartesianSet.axes:Lcom/google/common/collect/ImmutableList;
         2: .line 1423
            aload 0 /* this */
            aload 2 /* delegate */
            putfield com.google.common.collect.Sets$CartesianSet.delegate:Lcom/google/common/collect/CartesianList;
         3: .line 1424
            return
        end local 2 // com.google.common.collect.CartesianList delegate
        end local 1 // com.google.common.collect.ImmutableList axes
        end local 0 // com.google.common.collect.Sets$CartesianSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/google/common/collect/Sets$CartesianSet<TE;>;
            0    4     1      axes  Lcom/google/common/collect/ImmutableList<Lcom/google/common/collect/ImmutableSet<TE;>;>;
            0    4     2  delegate  Lcom/google/common/collect/CartesianList<TE;>;
    Signature: (Lcom/google/common/collect/ImmutableList<Lcom/google/common/collect/ImmutableSet<TE;>;>;Lcom/google/common/collect/CartesianList<TE;>;)V
    MethodParameters:
          Name  Flags
      axes      
      delegate  

  protected java.util.Collection<java.util.List<E>> delegate();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Sets$CartesianSet this
         0: .line 1428
            aload 0 /* this */
            getfield com.google.common.collect.Sets$CartesianSet.delegate:Lcom/google/common/collect/CartesianList;
            areturn
        end local 0 // com.google.common.collect.Sets$CartesianSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Sets$CartesianSet<TE;>;
    Signature: ()Ljava/util/Collection<Ljava/util/List<TE;>;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.google.common.collect.Sets$CartesianSet this
        start local 1 // java.lang.Object object
         0: .line 1435
            aload 1 /* object */
            instanceof com.google.common.collect.Sets$CartesianSet
            ifeq 3
         1: .line 1436
            aload 1 /* object */
            checkcast com.google.common.collect.Sets$CartesianSet
            astore 2 /* that */
        start local 2 // com.google.common.collect.Sets$CartesianSet that
         2: .line 1437
            aload 0 /* this */
            getfield com.google.common.collect.Sets$CartesianSet.axes:Lcom/google/common/collect/ImmutableList;
            aload 2 /* that */
            getfield com.google.common.collect.Sets$CartesianSet.axes:Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // com.google.common.collect.Sets$CartesianSet that
         3: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokespecial java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // com.google.common.collect.Sets$CartesianSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/google/common/collect/Sets$CartesianSet<TE;>;
            0    4     1  object  Ljava/lang/Object;
            2    3     2    that  Lcom/google/common/collect/Sets$CartesianSet<*>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      object  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.google.common.collect.Sets$CartesianSet this
         0: .line 1448
            aload 0 /* this */
            invokevirtual com.google.common.collect.Sets$CartesianSet.size:()I
            iconst_1
            isub
            istore 1 /* adjust */
        start local 1 // int adjust
         1: .line 1449
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1450
      StackMap locals: int int
      StackMap stack:
            iload 1 /* adjust */
            bipush 31
            imul
            istore 1 /* adjust */
         4: .line 1451
            iload 1 /* adjust */
            iconst_m1
            ixor
            iconst_m1
            ixor
            istore 1 /* adjust */
         5: .line 1449
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.google.common.collect.Sets$CartesianSet.axes:Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.size:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 1454
            iconst_1
            istore 2 /* hash */
        start local 2 // int hash
         8: .line 1455
            aload 0 /* this */
            getfield com.google.common.collect.Sets$CartesianSet.axes:Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: com.google.common.collect.Sets$CartesianSet int int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* axis */
        start local 3 // java.util.Set axis
        10: .line 1456
            bipush 31
            iload 2 /* hash */
            imul
            aload 0 /* this */
            invokevirtual com.google.common.collect.Sets$CartesianSet.size:()I
            aload 3 /* axis */
            invokeinterface java.util.Set.size:()I
            idiv
            aload 3 /* axis */
            invokeinterface java.util.Set.hashCode:()I
            imul
            iadd
            istore 2 /* hash */
        11: .line 1458
            iload 2 /* hash */
            iconst_m1
            ixor
            iconst_m1
            ixor
            istore 2 /* hash */
        end local 3 // java.util.Set axis
        12: .line 1455
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1460
            iload 2 /* hash */
            iload 1 /* adjust */
            iadd
            istore 2 /* hash */
        14: .line 1461
            iload 2 /* hash */
            iconst_m1
            ixor
            iconst_m1
            ixor
            ireturn
        end local 2 // int hash
        end local 1 // int adjust
        end local 0 // com.google.common.collect.Sets$CartesianSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/google/common/collect/Sets$CartesianSet<TE;>;
            1   15     1  adjust  I
            2    7     2       i  I
            8   15     2    hash  I
           10   12     3    axis  Ljava/util/Set<TE;>;

  protected java.lang.Object delegate();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.Sets$CartesianSet.delegate:()Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Lcom/google/common/collect/ForwardingCollection<Ljava/util/List<TE;>;>;Ljava/util/Set<Ljava/util/List<TE;>;>;
SourceFile: "Sets.java"
NestHost: com.google.common.collect.Sets
InnerClasses:
  public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
  private final CartesianSet = com.google.common.collect.Sets$CartesianSet of com.google.common.collect.Sets
  com.google.common.collect.Sets$CartesianSet$1