class com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace extends java.lang.IllegalStateException
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace
  super_class: java.lang.IllegalStateException
{
  static final java.lang.StackTraceElement[] EMPTY_STACK_TRACE;
    descriptor: [Ljava/lang/StackTraceElement;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.google.common.collect.ImmutableSet<java.lang.String> EXCLUDED_CLASS_NAMES;
    descriptor: Lcom/google/common/collect/ImmutableSet;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableSet<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 482
            iconst_0
            anewarray java.lang.StackTraceElement
            putstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
         1: .line 486
            ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 487
            ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 488
            ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 485
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
         5: .line 484
            putstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EXCLUDED_CLASS_NAMES:Lcom/google/common/collect/ImmutableSet;
         6: .line 488
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode, com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode);
    descriptor: (Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace this
        start local 1 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node1
        start local 2 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node2
         0: .line 491
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* node1 */
            invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode.getLockName:()Ljava/lang/String;
            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;
            aload 2 /* node2 */
            invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode.getLockName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
         1: .line 492
            aload 0 /* this */
            invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 3 /* origStackTrace */
        start local 3 // java.lang.StackTraceElement[] origStackTrace
         2: .line 493
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 3 /* origStackTrace */
            arraylength
            istore 5 /* n */
        start local 5 // int n
         4: goto 12
         5: .line 494
      StackMap locals: com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode java.lang.StackTraceElement[] int int
      StackMap stack:
            ldc Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 3 /* origStackTrace */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 496
            aload 0 /* this */
            getstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EMPTY_STACK_TRACE:[Ljava/lang/StackTraceElement;
            invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.setStackTrace:([Ljava/lang/StackTraceElement;)V
         7: .line 497
            goto 13
         8: .line 499
      StackMap locals:
      StackMap stack:
            getstatic com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.EXCLUDED_CLASS_NAMES:Lcom/google/common/collect/ImmutableSet;
            aload 3 /* origStackTrace */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            invokevirtual com.google.common.collect.ImmutableSet.contains:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 500
            aload 0 /* this */
            aload 3 /* origStackTrace */
            iload 4 /* i */
            iload 5 /* n */
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            invokevirtual com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace.setStackTrace:([Ljava/lang/StackTraceElement;)V
        10: .line 501
            goto 13
        11: .line 493
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* n */
            if_icmplt 5
        end local 5 // int n
        end local 4 // int i
        13: .line 504
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.StackTraceElement[] origStackTrace
        end local 2 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node2
        end local 1 // com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode node1
        end local 0 // com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace;
            0   14     1           node1  Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
            0   14     2           node2  Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
            2   14     3  origStackTrace  [Ljava/lang/StackTraceElement;
            3   13     4               i  I
            4   13     5               n  I
    MethodParameters:
       Name  Flags
      node1  
      node2  
}
SourceFile: "CycleDetectingLockFactory.java"
NestHost: com.google.common.util.concurrent.CycleDetectingLockFactory
InnerClasses:
  private ExampleStackTrace = com.google.common.util.concurrent.CycleDetectingLockFactory$ExampleStackTrace of com.google.common.util.concurrent.CycleDetectingLockFactory
  private LockGraphNode = com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode of com.google.common.util.concurrent.CycleDetectingLockFactory
  public final WithExplicitOrdering = com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering of com.google.common.util.concurrent.CycleDetectingLockFactory