final class com.google.common.graph.DirectedGraphConnections<N, V> implements com.google.common.graph.GraphConnections<N, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.graph.DirectedGraphConnections
  super_class: java.lang.Object
{
  private static final java.lang.Object PRED;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<N, java.lang.Object> adjacentNodeValues;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<TN;Ljava/lang/Object;>;

  private final java.util.List<com.google.common.graph.DirectedGraphConnections$NodeConnection<N>> orderedNodeConnections;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.Nullable()

  private int predecessorCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int successorCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$com$google$common$graph$ElementOrder$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 122
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.util.Map<N, java.lang.Object>, java.util.List<com.google.common.graph.DirectedGraphConnections$NodeConnection<N>>, int, );
    descriptor: (Ljava/util/Map;Ljava/util/List;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.util.Map adjacentNodeValues
        start local 2 // java.util.List orderedNodeConnections
        start local 3 // int predecessorCount
        start local 4 // int successorCount
         0: .line 141
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            aload 1 /* adjacentNodeValues */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            putfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
         2: .line 147
            aload 0 /* this */
            aload 2 /* orderedNodeConnections */
            putfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
         3: .line 148
            aload 0 /* this */
            iload 3 /* predecessorCount */
            invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
            putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
         4: .line 149
            aload 0 /* this */
            iload 4 /* successorCount */
            invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
            putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
         5: .line 151
            iload 3 /* predecessorCount */
            aload 1 /* adjacentNodeValues */
            invokeinterface java.util.Map.size:()I
            if_icmpgt 7
         6: .line 152
            iload 4 /* successorCount */
            aload 1 /* adjacentNodeValues */
            invokeinterface java.util.Map.size:()I
            if_icmpgt 7
            iconst_1
            goto 8
      StackMap locals: com.google.common.graph.DirectedGraphConnections java.util.Map java.util.List int int
      StackMap stack:
         7: iconst_0
         8: .line 150
      StackMap locals:
      StackMap stack: int
            invokestatic com.google.common.base.Preconditions.checkState:(Z)V
         9: .line 153
            return
        end local 4 // int successorCount
        end local 3 // int predecessorCount
        end local 2 // java.util.List orderedNodeConnections
        end local 1 // java.util.Map adjacentNodeValues
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   10     0                    this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   10     1      adjacentNodeValues  Ljava/util/Map<TN;Ljava/lang/Object;>;
            0   10     2  orderedNodeConnections  Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
            0   10     3        predecessorCount  I
            0   10     4          successorCount  I
    Signature: (Ljava/util/Map<TN;Ljava/lang/Object;>;Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;II)V
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
                        Name  Flags
      adjacentNodeValues      
      orderedNodeConnections  
      predecessorCount        
      successorCount          

  static <N, V> com.google.common.graph.DirectedGraphConnections<N, V> of(com.google.common.graph.ElementOrder<N>);
    descriptor: (Lcom/google/common/graph/ElementOrder;)Lcom/google/common/graph/DirectedGraphConnections;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.google.common.graph.ElementOrder incidentEdgeOrder
         0: .line 157
            iconst_4
            istore 1 /* initialCapacity */
        start local 1 // int initialCapacity
         1: .line 160
            invokestatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:()[I
            aload 0 /* incidentEdgeOrder */
            invokevirtual com.google.common.graph.ElementOrder.type:()Lcom/google/common/graph/ElementOrder$Type;
            invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 2
                    2: 4
              default: 6
          }
         2: .line 162
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 2 /* orderedNodeConnections */
        start local 2 // java.util.List orderedNodeConnections
         3: .line 163
            goto 7
        end local 2 // java.util.List orderedNodeConnections
         4: .line 165
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* orderedNodeConnections */
        start local 2 // java.util.List orderedNodeConnections
         5: .line 166
            goto 7
        end local 2 // java.util.List orderedNodeConnections
         6: .line 168
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            aload 0 /* incidentEdgeOrder */
            invokevirtual com.google.common.graph.ElementOrder.type:()Lcom/google/common/graph/ElementOrder$Type;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 2 // java.util.List orderedNodeConnections
         7: .line 171
      StackMap locals: java.util.List
      StackMap stack:
            new com.google.common.graph.DirectedGraphConnections
            dup
         8: .line 172
            new java.util.HashMap
            dup
            iload 1 /* initialCapacity */
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
         9: .line 173
            aload 2 /* orderedNodeConnections */
        10: .line 174
            iconst_0
        11: .line 175
            iconst_0
        12: .line 171
            invokespecial com.google.common.graph.DirectedGraphConnections.<init>:(Ljava/util/Map;Ljava/util/List;II)V
            areturn
        end local 2 // java.util.List orderedNodeConnections
        end local 1 // int initialCapacity
        end local 0 // com.google.common.graph.ElementOrder incidentEdgeOrder
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0       incidentEdgeOrder  Lcom/google/common/graph/ElementOrder<TN;>;
            1   13     1         initialCapacity  I
            3    4     2  orderedNodeConnections  Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
            5    6     2  orderedNodeConnections  Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
            7   13     2  orderedNodeConnections  Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
    Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/graph/ElementOrder<TN;>;)Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
    MethodParameters:
                   Name  Flags
      incidentEdgeOrder  

  static <N, V> com.google.common.graph.DirectedGraphConnections<N, V> ofImmutable(N, java.lang.Iterable<com.google.common.graph.EndpointPair<N>>, com.google.common.base.Function<N, V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Iterable;Lcom/google/common/base/Function;)Lcom/google/common/graph/DirectedGraphConnections;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // java.lang.Object thisNode
        start local 1 // java.lang.Iterable incidentEdges
        start local 2 // com.google.common.base.Function successorNodeToValueFn
         0: .line 180
            aload 0 /* thisNode */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 181
            aload 2 /* successorNodeToValueFn */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 183
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* adjacentNodeValues */
        start local 3 // java.util.Map adjacentNodeValues
         3: .line 185
            invokestatic com.google.common.collect.ImmutableList.builder:()Lcom/google/common/collect/ImmutableList$Builder;
         4: .line 184
            astore 4 /* orderedNodeConnectionsBuilder */
        start local 4 // com.google.common.collect.ImmutableList$Builder orderedNodeConnectionsBuilder
         5: .line 186
            iconst_0
            istore 5 /* predecessorCount */
        start local 5 // int predecessorCount
         6: .line 187
            iconst_0
            istore 6 /* successorCount */
        start local 6 // int successorCount
         7: .line 189
            aload 1 /* incidentEdges */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 35
      StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.graph.EndpointPair
            astore 7 /* incidentEdge */
        start local 7 // com.google.common.graph.EndpointPair incidentEdge
         9: .line 190
            aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 0 /* thisNode */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
            aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            aload 0 /* thisNode */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        10: .line 193
            aload 3 /* adjacentNodeValues */
            aload 0 /* thisNode */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 2 /* successorNodeToValueFn */
            aload 0 /* thisNode */
            invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 195
            aload 4 /* orderedNodeConnectionsBuilder */
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
            dup
            aload 0 /* thisNode */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        12: .line 196
            aload 4 /* orderedNodeConnectionsBuilder */
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
            dup
            aload 0 /* thisNode */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        13: .line 197
            iinc 5 /* predecessorCount */ 1
        14: .line 198
            iinc 6 /* successorCount */ 1
        15: .line 199
            goto 35
      StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int com.google.common.graph.EndpointPair java.util.Iterator
      StackMap stack:
        16: aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            aload 0 /* thisNode */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 24
        17: .line 200
            aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            astore 9 /* predecessor */
        start local 9 // java.lang.Object predecessor
        18: .line 202
            aload 3 /* adjacentNodeValues */
            aload 9 /* predecessor */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* existingValue */
        start local 10 // java.lang.Object existingValue
        19: .line 203
            aload 10 /* existingValue */
            ifnull 21
        20: .line 204
            aload 3 /* adjacentNodeValues */
            aload 9 /* predecessor */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 10 /* existingValue */
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 207
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 4 /* orderedNodeConnectionsBuilder */
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
            dup
            aload 9 /* predecessor */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        22: .line 208
            iinc 5 /* predecessorCount */ 1
        end local 10 // java.lang.Object existingValue
        end local 9 // java.lang.Object predecessor
        23: .line 209
            goto 35
        24: .line 210
      StackMap locals:
      StackMap stack:
            aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 0 /* thisNode */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
        25: .line 212
            aload 7 /* incidentEdge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            astore 9 /* successor */
        start local 9 // java.lang.Object successor
        26: .line 213
            aload 2 /* successorNodeToValueFn */
            aload 9 /* successor */
            invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* value */
        start local 10 // java.lang.Object value
        27: .line 215
            aload 3 /* adjacentNodeValues */
            aload 9 /* successor */
            aload 10 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* existingValue */
        start local 11 // java.lang.Object existingValue
        28: .line 216
            aload 11 /* existingValue */
            ifnull 33
        29: .line 217
            aload 11 /* existingValue */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpne 30
            iconst_1
            goto 31
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
        32: .line 218
            aload 3 /* adjacentNodeValues */
            aload 9 /* successor */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 10 /* value */
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 221
      StackMap locals:
      StackMap stack:
            aload 4 /* orderedNodeConnectionsBuilder */
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
            dup
            aload 9 /* successor */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
            invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
            pop
        34: .line 222
            iinc 6 /* successorCount */ 1
        end local 11 // java.lang.Object existingValue
        end local 10 // java.lang.Object value
        end local 9 // java.lang.Object successor
        end local 7 // com.google.common.graph.EndpointPair incidentEdge
        35: .line 189
      StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        36: .line 226
            new com.google.common.graph.DirectedGraphConnections
            dup
        37: .line 227
            aload 3 /* adjacentNodeValues */
        38: .line 228
            aload 4 /* orderedNodeConnectionsBuilder */
            invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
        39: .line 229
            iload 5 /* predecessorCount */
        40: .line 230
            iload 6 /* successorCount */
        41: .line 226
            invokespecial com.google.common.graph.DirectedGraphConnections.<init>:(Ljava/util/Map;Ljava/util/List;II)V
            areturn
        end local 6 // int successorCount
        end local 5 // int predecessorCount
        end local 4 // com.google.common.collect.ImmutableList$Builder orderedNodeConnectionsBuilder
        end local 3 // java.util.Map adjacentNodeValues
        end local 2 // com.google.common.base.Function successorNodeToValueFn
        end local 1 // java.lang.Iterable incidentEdges
        end local 0 // java.lang.Object thisNode
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   42     0                       thisNode  TN;
            0   42     1                  incidentEdges  Ljava/lang/Iterable<Lcom/google/common/graph/EndpointPair<TN;>;>;
            0   42     2         successorNodeToValueFn  Lcom/google/common/base/Function<TN;TV;>;
            3   42     3             adjacentNodeValues  Ljava/util/Map<TN;Ljava/lang/Object;>;
            5   42     4  orderedNodeConnectionsBuilder  Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
            6   42     5               predecessorCount  I
            7   42     6                 successorCount  I
            9   35     7                   incidentEdge  Lcom/google/common/graph/EndpointPair<TN;>;
           18   23     9                    predecessor  TN;
           19   23    10                  existingValue  Ljava/lang/Object;
           26   35     9                      successor  TN;
           27   35    10                          value  TV;
           28   35    11                  existingValue  Ljava/lang/Object;
    Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(TN;Ljava/lang/Iterable<Lcom/google/common/graph/EndpointPair<TN;>;>;Lcom/google/common/base/Function<TN;TV;>;)Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
    MethodParameters:
                        Name  Flags
      thisNode                
      incidentEdges           
      successorNodeToValueFn  

  public java.util.Set<N> adjacentNodes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.DirectedGraphConnections this
         0: .line 235
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnonnull 2
         1: .line 236
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            new com.google.common.graph.DirectedGraphConnections$1
            dup
            aload 0 /* this */
            invokespecial com.google.common.graph.DirectedGraphConnections$1.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
            areturn
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
    Signature: ()Ljava/util/Set<TN;>;

  public java.util.Set<N> predecessors();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.DirectedGraphConnections this
         0: .line 273
            new com.google.common.graph.DirectedGraphConnections$2
            dup
            aload 0 /* this */
            invokespecial com.google.common.graph.DirectedGraphConnections$2.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
            areturn
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
    Signature: ()Ljava/util/Set<TN;>;

  public java.util.Set<N> successors();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.DirectedGraphConnections this
         0: .line 321
            new com.google.common.graph.DirectedGraphConnections$3
            dup
            aload 0 /* this */
            invokespecial com.google.common.graph.DirectedGraphConnections$3.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
            areturn
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
    Signature: ()Ljava/util/Set<TN;>;

  public java.util.Iterator<com.google.common.graph.EndpointPair<N>> incidentEdgeIterator(N);
    descriptor: (Ljava/lang/Object;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object thisNode
         0: .line 369
            aload 1 /* thisNode */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 372
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnonnull 11
         2: .line 376
            aload 0 /* this */
            invokevirtual com.google.common.graph.DirectedGraphConnections.predecessors:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
         3: .line 377
            new com.google.common.graph.DirectedGraphConnections$4
            dup
            aload 0 /* this */
            aload 1 /* thisNode */
            invokespecial com.google.common.graph.DirectedGraphConnections$4.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
         4: .line 375
            invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
         5: .line 384
            aload 0 /* this */
            invokevirtual com.google.common.graph.DirectedGraphConnections.successors:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
         6: .line 385
            new com.google.common.graph.DirectedGraphConnections$5
            dup
            aload 0 /* this */
            aload 1 /* thisNode */
            invokespecial com.google.common.graph.DirectedGraphConnections$5.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
         7: .line 383
            invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
         8: .line 374
            invokestatic com.google.common.collect.Iterators.concat:(Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
         9: .line 373
            astore 2 /* resultWithDoubleSelfLoop */
        start local 2 // java.util.Iterator resultWithDoubleSelfLoop
        10: .line 391
            goto 15
        end local 2 // java.util.Iterator resultWithDoubleSelfLoop
        11: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
        12: .line 395
            new com.google.common.graph.DirectedGraphConnections$6
            dup
            aload 0 /* this */
            aload 1 /* thisNode */
            invokespecial com.google.common.graph.DirectedGraphConnections$6.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
        13: .line 393
            invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
        14: .line 392
            astore 2 /* resultWithDoubleSelfLoop */
        start local 2 // java.util.Iterator resultWithDoubleSelfLoop
        15: .line 407
      StackMap locals: java.util.Iterator
      StackMap stack:
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 3 /* alreadySeenSelfLoop */
        start local 3 // java.util.concurrent.atomic.AtomicBoolean alreadySeenSelfLoop
        16: .line 408
            new com.google.common.graph.DirectedGraphConnections$7
            dup
            aload 0 /* this */
            aload 2 /* resultWithDoubleSelfLoop */
            aload 3 /* alreadySeenSelfLoop */
            invokespecial com.google.common.graph.DirectedGraphConnections$7.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/util/Iterator;Ljava/util/concurrent/atomic/AtomicBoolean;)V
            areturn
        end local 3 // java.util.concurrent.atomic.AtomicBoolean alreadySeenSelfLoop
        end local 2 // java.util.Iterator resultWithDoubleSelfLoop
        end local 1 // java.lang.Object thisNode
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   17     0                      this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   17     1                  thisNode  TN;
           10   11     2  resultWithDoubleSelfLoop  Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
           15   17     2  resultWithDoubleSelfLoop  Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
           16   17     3       alreadySeenSelfLoop  Ljava/util/concurrent/atomic/AtomicBoolean;
    Signature: (TN;)Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
    MethodParameters:
          Name  Flags
      thisNode  final

  public V value();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object node
         0: .line 429
            aload 1 /* node */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 430
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         2: .line 431
            aload 2 /* value */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpne 4
         3: .line 432
            aconst_null
            areturn
         4: .line 434
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifeq 6
         5: .line 435
            aload 2 /* value */
            checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
            getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
            areturn
         6: .line 437
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0    7     1   node  TN;
            2    7     2  value  Ljava/lang/Object;
    Signature: (TN;)TV;
    MethodParameters:
      Name  Flags
      node  

  public void removePredecessor();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object node
         0: .line 443
            aload 1 /* node */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 445
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* previousValue */
        start local 2 // java.lang.Object previousValue
         2: .line 448
            aload 2 /* previousValue */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpne 6
         3: .line 449
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 450
            iconst_1
            istore 3 /* removedPredecessor */
        start local 3 // boolean removedPredecessor
         5: .line 451
            goto 11
        end local 3 // boolean removedPredecessor
      StackMap locals: java.lang.Object
      StackMap stack:
         6: aload 2 /* previousValue */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifeq 10
         7: .line 452
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            aload 2 /* previousValue */
            checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
            getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 453
            iconst_1
            istore 3 /* removedPredecessor */
        start local 3 // boolean removedPredecessor
         9: .line 454
            goto 11
        end local 3 // boolean removedPredecessor
        10: .line 455
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* removedPredecessor */
        start local 3 // boolean removedPredecessor
        11: .line 458
      StackMap locals: int
      StackMap stack:
            iload 3 /* removedPredecessor */
            ifeq 15
        12: .line 459
            aload 0 /* this */
            dup
            getfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
            iconst_1
            isub
            dup_x1
            putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
            invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
            pop
        13: .line 461
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnull 15
        14: .line 462
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
            dup
            aload 1 /* node */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        15: .line 465
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean removedPredecessor
        end local 2 // java.lang.Object previousValue
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   16     1                node  TN;
            2   16     2       previousValue  Ljava/lang/Object;
            5    6     3  removedPredecessor  Z
            9   10     3  removedPredecessor  Z
           11   16     3  removedPredecessor  Z
    Signature: (TN;)V
    MethodParameters:
      Name  Flags
      node  

  public V removeSuccessor();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object node
         0: .line 470
            aload 1 /* node */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 471
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* previousValue */
        start local 2 // java.lang.Object previousValue
         2: .line 474
            aload 2 /* previousValue */
            ifnull 3
            aload 2 /* previousValue */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpne 5
         3: .line 475
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            astore 3 /* removedValue */
        start local 3 // java.lang.Object removedValue
         4: .line 476
            goto 11
        end local 3 // java.lang.Object removedValue
      StackMap locals:
      StackMap stack:
         5: aload 2 /* previousValue */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifeq 9
         6: .line 477
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 478
            aload 2 /* previousValue */
            checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
            getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
            astore 3 /* removedValue */
        start local 3 // java.lang.Object removedValue
         8: .line 479
            goto 11
        end local 3 // java.lang.Object removedValue
         9: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 481
            aload 2 /* previousValue */
            astore 3 /* removedValue */
        start local 3 // java.lang.Object removedValue
        11: .line 484
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* removedValue */
            ifnull 15
        12: .line 485
            aload 0 /* this */
            dup
            getfield com.google.common.graph.DirectedGraphConnections.successorCount:I
            iconst_1
            isub
            dup_x1
            putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
            invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
            pop
        13: .line 487
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnull 15
        14: .line 488
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
            dup
            aload 1 /* node */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        15: .line 492
      StackMap locals:
      StackMap stack:
            aload 3 /* removedValue */
            areturn
        end local 3 // java.lang.Object removedValue
        end local 2 // java.lang.Object previousValue
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   16     1           node  Ljava/lang/Object;
            2   16     2  previousValue  Ljava/lang/Object;
            4    5     3   removedValue  Ljava/lang/Object;
            8    9     3   removedValue  Ljava/lang/Object;
           11   16     3   removedValue  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)TV;
    MethodParameters:
      Name  Flags
      node  

  public void addPredecessor(N, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object node
        start local 2 // java.lang.Object unused
         0: .line 497
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* previousValue */
        start local 3 // java.lang.Object previousValue
         1: .line 500
            aload 3 /* previousValue */
            ifnonnull 4
         2: .line 501
            iconst_1
            istore 4 /* addedPredecessor */
        start local 4 // boolean addedPredecessor
         3: .line 502
            goto 13
        end local 4 // boolean addedPredecessor
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 3 /* previousValue */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifeq 8
         5: .line 504
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            aload 3 /* previousValue */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 505
            iconst_0
            istore 4 /* addedPredecessor */
        start local 4 // boolean addedPredecessor
         7: .line 506
            goto 13
        end local 4 // boolean addedPredecessor
      StackMap locals:
      StackMap stack:
         8: aload 3 /* previousValue */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpeq 12
         9: .line 508
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 3 /* previousValue */
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 509
            iconst_1
            istore 4 /* addedPredecessor */
        start local 4 // boolean addedPredecessor
        11: .line 510
            goto 13
        end local 4 // boolean addedPredecessor
        12: .line 511
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* addedPredecessor */
        start local 4 // boolean addedPredecessor
        13: .line 514
      StackMap locals: int
      StackMap stack:
            iload 4 /* addedPredecessor */
            ifeq 17
        14: .line 515
            aload 0 /* this */
            dup
            getfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
            iconst_1
            iadd
            dup_x1
            putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
            invokestatic com.google.common.graph.Graphs.checkPositive:(I)I
            pop
        15: .line 517
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnull 17
        16: .line 518
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
            dup
            aload 1 /* node */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean addedPredecessor
        end local 3 // java.lang.Object previousValue
        end local 2 // java.lang.Object unused
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   18     1              node  TN;
            0   18     2            unused  TV;
            1   18     3     previousValue  Ljava/lang/Object;
            3    4     4  addedPredecessor  Z
            7    8     4  addedPredecessor  Z
           11   12     4  addedPredecessor  Z
           13   18     4  addedPredecessor  Z
    Signature: (TN;TV;)V
    MethodParameters:
        Name  Flags
      node    
      unused  

  public V addSuccessor(N, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.google.common.graph.DirectedGraphConnections this
        start local 1 // java.lang.Object node
        start local 2 // java.lang.Object value
         0: .line 526
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* previousValue */
        start local 3 // java.lang.Object previousValue
         1: .line 529
            aload 3 /* previousValue */
            ifnonnull 4
         2: .line 530
            aconst_null
            astore 4 /* previousSuccessor */
        start local 4 // java.lang.Object previousSuccessor
         3: .line 531
            goto 13
        end local 4 // java.lang.Object previousSuccessor
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 3 /* previousValue */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifeq 8
         5: .line 532
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 2 /* value */
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 533
            aload 3 /* previousValue */
            checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
            getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
            astore 4 /* previousSuccessor */
        start local 4 // java.lang.Object previousSuccessor
         7: .line 534
            goto 13
        end local 4 // java.lang.Object previousSuccessor
      StackMap locals:
      StackMap stack:
         8: aload 3 /* previousValue */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpne 12
         9: .line 535
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
            aload 1 /* node */
            new com.google.common.graph.DirectedGraphConnections$PredAndSucc
            dup
            aload 2 /* value */
            invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 536
            aconst_null
            astore 4 /* previousSuccessor */
        start local 4 // java.lang.Object previousSuccessor
        11: .line 537
            goto 13
        end local 4 // java.lang.Object previousSuccessor
        12: .line 538
      StackMap locals:
      StackMap stack:
            aload 3 /* previousValue */
            astore 4 /* previousSuccessor */
        start local 4 // java.lang.Object previousSuccessor
        13: .line 541
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* previousSuccessor */
            ifnonnull 17
        14: .line 542
            aload 0 /* this */
            dup
            getfield com.google.common.graph.DirectedGraphConnections.successorCount:I
            iconst_1
            iadd
            dup_x1
            putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
            invokestatic com.google.common.graph.Graphs.checkPositive:(I)I
            pop
        15: .line 544
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            ifnull 17
        16: .line 545
            aload 0 /* this */
            getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
            new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
            dup
            aload 1 /* node */
            invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 549
      StackMap locals:
      StackMap stack:
            aload 4 /* previousSuccessor */
            areturn
        end local 4 // java.lang.Object previousSuccessor
        end local 3 // java.lang.Object previousValue
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.DirectedGraphConnections this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
            0   18     1               node  TN;
            0   18     2              value  TV;
            1   18     3      previousValue  Ljava/lang/Object;
            3    4     4  previousSuccessor  Ljava/lang/Object;
            7    8     4  previousSuccessor  Ljava/lang/Object;
           11   12     4  previousSuccessor  Ljava/lang/Object;
           13   18     4  previousSuccessor  Ljava/lang/Object;
    Signature: (TN;TV;)TV;
    MethodParameters:
       Name  Flags
      node   
      value  

  private static boolean isPredecessor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 553
            aload 0 /* value */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpeq 1
            aload 0 /* value */
            instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      value  

  private static boolean isSuccessor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 557
            aload 0 /* value */
            getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
            if_acmpeq 1
            aload 0 /* value */
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      value  

  static int[] $SWITCH_TABLE$com$google$common$graph$ElementOrder$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 53
            getstatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.google.common.graph.ElementOrder$Type.values:()[Lcom/google/common/graph/ElementOrder$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.google.common.graph.ElementOrder$Type.INSERTION:Lcom/google/common/graph/ElementOrder$Type;
            invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.google.common.graph.ElementOrder$Type.SORTED:Lcom/google/common/graph/ElementOrder$Type;
            invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.google.common.graph.ElementOrder$Type.STABLE:Lcom/google/common/graph/ElementOrder$Type;
            invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.google.common.graph.ElementOrder$Type.UNORDERED:Lcom/google/common/graph/ElementOrder$Type;
            invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/graph/GraphConnections<TN;TV;>;
SourceFile: "DirectedGraphConnections.java"
NestMembers:
  com.google.common.graph.DirectedGraphConnections$1  com.google.common.graph.DirectedGraphConnections$1$1  com.google.common.graph.DirectedGraphConnections$2  com.google.common.graph.DirectedGraphConnections$2$1  com.google.common.graph.DirectedGraphConnections$2$2  com.google.common.graph.DirectedGraphConnections$3  com.google.common.graph.DirectedGraphConnections$3$1  com.google.common.graph.DirectedGraphConnections$3$2  com.google.common.graph.DirectedGraphConnections$4  com.google.common.graph.DirectedGraphConnections$5  com.google.common.graph.DirectedGraphConnections$6  com.google.common.graph.DirectedGraphConnections$7  com.google.common.graph.DirectedGraphConnections$NodeConnection  com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred  com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ  com.google.common.graph.DirectedGraphConnections$PredAndSucc
InnerClasses:
  public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
  com.google.common.graph.DirectedGraphConnections$1
  com.google.common.graph.DirectedGraphConnections$2
  com.google.common.graph.DirectedGraphConnections$3
  com.google.common.graph.DirectedGraphConnections$4
  com.google.common.graph.DirectedGraphConnections$5
  com.google.common.graph.DirectedGraphConnections$6
  com.google.common.graph.DirectedGraphConnections$7
  private abstract NodeConnection = com.google.common.graph.DirectedGraphConnections$NodeConnection of com.google.common.graph.DirectedGraphConnections
  final Pred = com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred of com.google.common.graph.DirectedGraphConnections$NodeConnection
  final Succ = com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ of com.google.common.graph.DirectedGraphConnections$NodeConnection
  private final PredAndSucc = com.google.common.graph.DirectedGraphConnections$PredAndSucc of com.google.common.graph.DirectedGraphConnections
  public final Type = com.google.common.graph.ElementOrder$Type of com.google.common.graph.ElementOrder