public final class com.google.common.graph.Graphs
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.graph.Graphs
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.graph.Graphs this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.graph.Graphs this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/graph/Graphs;

  public static <N> boolean hasCycle(com.google.common.graph.Graph<N>);
    descriptor: (Lcom/google/common/graph/Graph;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.google.common.graph.Graph graph
         0: .line 60
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            istore 1 /* numEdges */
        start local 1 // int numEdges
         1: .line 61
            iload 1 /* numEdges */
            ifne 3
         2: .line 62
            iconst_0
            ireturn
         3: .line 64
      StackMap locals: int
      StackMap stack:
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.isDirected:()Z
            ifne 5
            iload 1 /* numEdges */
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            if_icmplt 5
         4: .line 65
            iconst_1
            ireturn
         5: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic com.google.common.collect.Maps.newHashMapWithExpectedSize:(I)Ljava/util/HashMap;
         6: .line 68
            astore 2 /* visitedNodes */
        start local 2 // java.util.Map visitedNodes
         7: .line 70
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.google.common.graph.Graph int java.util.Map top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
         9: .line 71
            aload 0 /* graph */
            aload 2 /* visitedNodes */
            aload 3 /* node */
            aconst_null
            invokestatic com.google.common.graph.Graphs.subgraphHasCycle:(Lcom/google/common/graph/Graph;Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 11
        10: .line 72
            iconst_1
            ireturn
        end local 3 // java.lang.Object node
        11: .line 70
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 75
            iconst_0
            ireturn
        end local 2 // java.util.Map visitedNodes
        end local 1 // int numEdges
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0         graph  Lcom/google/common/graph/Graph<TN;>;
            1   13     1      numEdges  I
            7   13     2  visitedNodes  Ljava/util/Map<Ljava/lang/Object;Lcom/google/common/graph/Graphs$NodeVisitState;>;
            9   11     3          node  TN;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;)Z
    MethodParameters:
       Name  Flags
      graph  

  public static boolean hasCycle(com.google.common.graph.Network<?, ?>);
    descriptor: (Lcom/google/common/graph/Network;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.graph.Network network
         0: .line 88
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.isDirected:()Z
            ifne 4
         1: .line 89
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.allowsParallelEdges:()Z
            ifeq 4
         2: .line 90
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.asGraph:()Lcom/google/common/graph/Graph;
            invokeinterface com.google.common.graph.Graph.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            if_icmple 4
         3: .line 91
            iconst_1
            ireturn
         4: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.asGraph:()Lcom/google/common/graph/Graph;
            invokestatic com.google.common.graph.Graphs.hasCycle:(Lcom/google/common/graph/Graph;)Z
            ireturn
        end local 0 // com.google.common.graph.Network network
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  network  Lcom/google/common/graph/Network<**>;
    Signature: (Lcom/google/common/graph/Network<**>;)Z
    MethodParameters:
         Name  Flags
      network  

  private static <N> boolean subgraphHasCycle(com.google.common.graph.Graph<N>, java.util.Map<java.lang.Object, com.google.common.graph.Graphs$NodeVisitState>, N, );
    descriptor: (Lcom/google/common/graph/Graph;Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.google.common.graph.Graph graph
        start local 1 // java.util.Map visitedNodes
        start local 2 // java.lang.Object node
        start local 3 // java.lang.Object previousNode
         0: .line 103
            aload 1 /* visitedNodes */
            aload 2 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.graph.Graphs$NodeVisitState
            astore 4 /* state */
        start local 4 // com.google.common.graph.Graphs$NodeVisitState state
         1: .line 104
            aload 4 /* state */
            getstatic com.google.common.graph.Graphs$NodeVisitState.COMPLETE:Lcom/google/common/graph/Graphs$NodeVisitState;
            if_acmpne 3
         2: .line 105
            iconst_0
            ireturn
         3: .line 107
      StackMap locals: com.google.common.graph.Graphs$NodeVisitState
      StackMap stack:
            aload 4 /* state */
            getstatic com.google.common.graph.Graphs$NodeVisitState.PENDING:Lcom/google/common/graph/Graphs$NodeVisitState;
            if_acmpne 5
         4: .line 108
            iconst_1
            ireturn
         5: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* visitedNodes */
            aload 2 /* node */
            getstatic com.google.common.graph.Graphs$NodeVisitState.PENDING:Lcom/google/common/graph/Graphs$NodeVisitState;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 112
            aload 0 /* graph */
            aload 2 /* node */
            invokeinterface com.google.common.graph.Graph.successors:(Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: com.google.common.graph.Graph java.util.Map java.lang.Object java.lang.Object com.google.common.graph.Graphs$NodeVisitState top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* nextNode */
        start local 5 // java.lang.Object nextNode
         8: .line 113
            aload 0 /* graph */
            aload 5 /* nextNode */
            aload 3 /* previousNode */
            invokestatic com.google.common.graph.Graphs.canTraverseWithoutReusingEdge:(Lcom/google/common/graph/Graph;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 11
         9: .line 114
            aload 0 /* graph */
            aload 1 /* visitedNodes */
            aload 5 /* nextNode */
            aload 2 /* node */
            invokestatic com.google.common.graph.Graphs.subgraphHasCycle:(Lcom/google/common/graph/Graph;Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 11
        10: .line 115
            iconst_1
            ireturn
        end local 5 // java.lang.Object nextNode
        11: .line 112
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 118
            aload 1 /* visitedNodes */
            aload 2 /* node */
            getstatic com.google.common.graph.Graphs$NodeVisitState.COMPLETE:Lcom/google/common/graph/Graphs$NodeVisitState;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 119
            iconst_0
            ireturn
        end local 4 // com.google.common.graph.Graphs$NodeVisitState state
        end local 3 // java.lang.Object previousNode
        end local 2 // java.lang.Object node
        end local 1 // java.util.Map visitedNodes
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0         graph  Lcom/google/common/graph/Graph<TN;>;
            0   14     1  visitedNodes  Ljava/util/Map<Ljava/lang/Object;Lcom/google/common/graph/Graphs$NodeVisitState;>;
            0   14     2          node  TN;
            0   14     3  previousNode  TN;
            1   14     4         state  Lcom/google/common/graph/Graphs$NodeVisitState;
            8   11     5      nextNode  TN;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;Ljava/util/Map<Ljava/lang/Object;Lcom/google/common/graph/Graphs$NodeVisitState;>;TN;TN;)Z
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
              Name  Flags
      graph         
      visitedNodes  
      node          
      previousNode  

  private static boolean canTraverseWithoutReusingEdge(com.google.common.graph.Graph<?>, , );
    descriptor: (Lcom/google/common/graph/Graph;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.google.common.graph.Graph graph
        start local 1 // java.lang.Object nextNode
        start local 2 // java.lang.Object previousNode
         0: .line 130
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.isDirected:()Z
            ifne 1
            aload 2 /* previousNode */
            aload 1 /* nextNode */
            invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
         1: .line 131
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 135
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object previousNode
        end local 1 // java.lang.Object nextNode
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         graph  Lcom/google/common/graph/Graph<*>;
            0    3     1      nextNode  Ljava/lang/Object;
            0    3     2  previousNode  Ljava/lang/Object;
    Signature: (Lcom/google/common/graph/Graph<*>;Ljava/lang/Object;Ljava/lang/Object;)Z
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
              Name  Flags
      graph         
      nextNode      
      previousNode  

  public static <N> com.google.common.graph.Graph<N> transitiveClosure(com.google.common.graph.Graph<N>);
    descriptor: (Lcom/google/common/graph/Graph;)Lcom/google/common/graph/Graph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // com.google.common.graph.Graph graph
         0: .line 149
            aload 0 /* graph */
            invokestatic com.google.common.graph.GraphBuilder.from:(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder;
            iconst_1
            invokevirtual com.google.common.graph.GraphBuilder.allowsSelfLoops:(Z)Lcom/google/common/graph/GraphBuilder;
            invokevirtual com.google.common.graph.GraphBuilder.build:()Lcom/google/common/graph/MutableGraph;
            astore 1 /* transitiveClosure */
        start local 1 // com.google.common.graph.MutableGraph transitiveClosure
         1: .line 153
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.isDirected:()Z
            ifeq 10
         2: .line 155
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* node */
        start local 2 // java.lang.Object node
         4: .line 156
            aload 0 /* graph */
            aload 2 /* node */
            invokestatic com.google.common.graph.Graphs.reachableNodes:(Lcom/google/common/graph/Graph;Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* reachableNode */
        start local 4 // java.lang.Object reachableNode
         6: .line 157
            aload 1 /* transitiveClosure */
            aload 2 /* node */
            aload 4 /* reachableNode */
            invokeinterface com.google.common.graph.MutableGraph.putEdge:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object reachableNode
         7: .line 156
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // java.lang.Object node
         8: .line 155
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 160
            goto 25
        10: .line 163
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* visitedNodes */
        start local 2 // java.util.Set visitedNodes
        11: .line 164
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 24
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.util.Set top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
        13: .line 165
            aload 2 /* visitedNodes */
            aload 3 /* node */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 24
        14: .line 166
            aload 0 /* graph */
            aload 3 /* node */
            invokestatic com.google.common.graph.Graphs.reachableNodes:(Lcom/google/common/graph/Graph;Ljava/lang/Object;)Ljava/util/Set;
            astore 5 /* reachableNodes */
        start local 5 // java.util.Set reachableNodes
        15: .line 167
            aload 2 /* visitedNodes */
            aload 5 /* reachableNodes */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        16: .line 168
            iconst_1
            istore 6 /* pairwiseMatch */
        start local 6 // int pairwiseMatch
        17: .line 169
            aload 5 /* reachableNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 23
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.util.Set java.lang.Object java.util.Iterator java.util.Set int top java.util.Iterator
      StackMap stack:
        18: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 7 /* nodeU */
        start local 7 // java.lang.Object nodeU
        19: .line 170
            aload 5 /* reachableNodes */
            iload 6 /* pairwiseMatch */
            iinc 6 /* pairwiseMatch */ 1
            invokestatic com.google.common.collect.Iterables.limit:(Ljava/lang/Iterable;I)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.util.Set java.lang.Object java.util.Iterator java.util.Set int java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
        20: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 9 /* nodeV */
        start local 9 // java.lang.Object nodeV
        21: .line 171
            aload 1 /* transitiveClosure */
            aload 7 /* nodeU */
            aload 9 /* nodeV */
            invokeinterface com.google.common.graph.MutableGraph.putEdge:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.Object nodeV
        22: .line 170
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 7 // java.lang.Object nodeU
        23: .line 169
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.util.Set java.lang.Object java.util.Iterator java.util.Set int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 6 // int pairwiseMatch
        end local 5 // java.util.Set reachableNodes
        end local 3 // java.lang.Object node
        24: .line 164
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 2 // java.util.Set visitedNodes
        25: .line 178
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph
      StackMap stack:
            aload 1 /* transitiveClosure */
            areturn
        end local 1 // com.google.common.graph.MutableGraph transitiveClosure
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0              graph  Lcom/google/common/graph/Graph<TN;>;
            1   26     1  transitiveClosure  Lcom/google/common/graph/MutableGraph<TN;>;
            4    8     2               node  TN;
            6    7     4      reachableNode  TN;
           11   25     2       visitedNodes  Ljava/util/Set<TN;>;
           13   24     3               node  TN;
           15   24     5     reachableNodes  Ljava/util/Set<TN;>;
           17   24     6      pairwiseMatch  I
           19   23     7              nodeU  TN;
           21   22     9              nodeV  TN;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;)Lcom/google/common/graph/Graph<TN;>;
    MethodParameters:
       Name  Flags
      graph  

  public static <N> java.util.Set<N> reachableNodes(com.google.common.graph.Graph<N>, N);
    descriptor: (Lcom/google/common/graph/Graph;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.google.common.graph.Graph graph
        start local 1 // java.lang.Object node
         0: .line 193
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            aload 1 /* node */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ldc "Node %s is not an element of this graph."
            aload 1 /* node */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 194
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* visitedNodes */
        start local 2 // java.util.Set visitedNodes
         2: .line 195
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 3 /* queuedNodes */
        start local 3 // java.util.Queue queuedNodes
         3: .line 196
            aload 2 /* visitedNodes */
            aload 1 /* node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 197
            aload 3 /* queuedNodes */
            aload 1 /* node */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         5: .line 199
            goto 12
         6: .line 200
      StackMap locals: java.util.Set java.util.Queue
      StackMap stack:
            aload 3 /* queuedNodes */
            invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
            astore 4 /* currentNode */
        start local 4 // java.lang.Object currentNode
         7: .line 201
            aload 0 /* graph */
            aload 4 /* currentNode */
            invokeinterface com.google.common.graph.Graph.successors:(Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: com.google.common.graph.Graph java.lang.Object java.util.Set java.util.Queue java.lang.Object top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* successor */
        start local 5 // java.lang.Object successor
         9: .line 202
            aload 2 /* visitedNodes */
            aload 5 /* successor */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 203
            aload 3 /* queuedNodes */
            aload 5 /* successor */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object successor
        11: .line 201
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 4 // java.lang.Object currentNode
        12: .line 199
      StackMap locals: com.google.common.graph.Graph java.lang.Object java.util.Set java.util.Queue
      StackMap stack:
            aload 3 /* queuedNodes */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 6
        13: .line 207
            aload 2 /* visitedNodes */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 3 // java.util.Queue queuedNodes
        end local 2 // java.util.Set visitedNodes
        end local 1 // java.lang.Object node
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0         graph  Lcom/google/common/graph/Graph<TN;>;
            0   14     1          node  TN;
            2   14     2  visitedNodes  Ljava/util/Set<TN;>;
            3   14     3   queuedNodes  Ljava/util/Queue<TN;>;
            7   12     4   currentNode  TN;
            9   11     5     successor  TN;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;TN;)Ljava/util/Set<TN;>;
    MethodParameters:
       Name  Flags
      graph  
      node   

  public static <N> com.google.common.graph.Graph<N> transpose(com.google.common.graph.Graph<N>);
    descriptor: (Lcom/google/common/graph/Graph;)Lcom/google/common/graph/Graph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.Graph graph
         0: .line 219
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.isDirected:()Z
            ifne 2
         1: .line 220
            aload 0 /* graph */
            areturn
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            instanceof com.google.common.graph.Graphs$TransposedGraph
            ifeq 4
         3: .line 224
            aload 0 /* graph */
            checkcast com.google.common.graph.Graphs$TransposedGraph
            getfield com.google.common.graph.Graphs$TransposedGraph.graph:Lcom/google/common/graph/Graph;
            areturn
         4: .line 227
      StackMap locals:
      StackMap stack:
            new com.google.common.graph.Graphs$TransposedGraph
            dup
            aload 0 /* graph */
            invokespecial com.google.common.graph.Graphs$TransposedGraph.<init>:(Lcom/google/common/graph/Graph;)V
            areturn
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  graph  Lcom/google/common/graph/Graph<TN;>;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;)Lcom/google/common/graph/Graph<TN;>;
    MethodParameters:
       Name  Flags
      graph  

  public static <N, V> com.google.common.graph.ValueGraph<N, V> transpose(com.google.common.graph.ValueGraph<N, V>);
    descriptor: (Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.ValueGraph graph
         0: .line 235
            aload 0 /* graph */
            invokeinterface com.google.common.graph.ValueGraph.isDirected:()Z
            ifne 2
         1: .line 236
            aload 0 /* graph */
            areturn
         2: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            instanceof com.google.common.graph.Graphs$TransposedValueGraph
            ifeq 4
         3: .line 240
            aload 0 /* graph */
            checkcast com.google.common.graph.Graphs$TransposedValueGraph
            getfield com.google.common.graph.Graphs$TransposedValueGraph.graph:Lcom/google/common/graph/ValueGraph;
            areturn
         4: .line 243
      StackMap locals:
      StackMap stack:
            new com.google.common.graph.Graphs$TransposedValueGraph
            dup
            aload 0 /* graph */
            invokespecial com.google.common.graph.Graphs$TransposedValueGraph.<init>:(Lcom/google/common/graph/ValueGraph;)V
            areturn
        end local 0 // com.google.common.graph.ValueGraph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  graph  Lcom/google/common/graph/ValueGraph<TN;TV;>;
    Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/graph/ValueGraph<TN;TV;>;)Lcom/google/common/graph/ValueGraph<TN;TV;>;
    MethodParameters:
       Name  Flags
      graph  

  public static <N, E> com.google.common.graph.Network<N, E> transpose(com.google.common.graph.Network<N, E>);
    descriptor: (Lcom/google/common/graph/Network;)Lcom/google/common/graph/Network;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.graph.Network network
         0: .line 251
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.isDirected:()Z
            ifne 2
         1: .line 252
            aload 0 /* network */
            areturn
         2: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* network */
            instanceof com.google.common.graph.Graphs$TransposedNetwork
            ifeq 4
         3: .line 256
            aload 0 /* network */
            checkcast com.google.common.graph.Graphs$TransposedNetwork
            getfield com.google.common.graph.Graphs$TransposedNetwork.network:Lcom/google/common/graph/Network;
            areturn
         4: .line 259
      StackMap locals:
      StackMap stack:
            new com.google.common.graph.Graphs$TransposedNetwork
            dup
            aload 0 /* network */
            invokespecial com.google.common.graph.Graphs$TransposedNetwork.<init>:(Lcom/google/common/graph/Network;)V
            areturn
        end local 0 // com.google.common.graph.Network network
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  network  Lcom/google/common/graph/Network<TN;TE;>;
    Signature: <N:Ljava/lang/Object;E:Ljava/lang/Object;>(Lcom/google/common/graph/Network<TN;TE;>;)Lcom/google/common/graph/Network<TN;TE;>;
    MethodParameters:
         Name  Flags
      network  

  public static <N> com.google.common.graph.MutableGraph<N> inducedSubgraph(com.google.common.graph.Graph<N>, java.lang.Iterable<? extends N>);
    descriptor: (Lcom/google/common/graph/Graph;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.google.common.graph.Graph graph
        start local 1 // java.lang.Iterable nodes
         0: .line 432
            aload 1 /* nodes */
            instanceof java.util.Collection
            ifeq 2
         1: .line 433
            aload 0 /* graph */
            invokestatic com.google.common.graph.GraphBuilder.from:(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder;
            aload 1 /* nodes */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.size:()I
            invokevirtual com.google.common.graph.GraphBuilder.expectedNodeCount:(I)Lcom/google/common/graph/GraphBuilder;
            invokevirtual com.google.common.graph.GraphBuilder.build:()Lcom/google/common/graph/MutableGraph;
            goto 3
         2: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokestatic com.google.common.graph.GraphBuilder.from:(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder;
            invokevirtual com.google.common.graph.GraphBuilder.build:()Lcom/google/common/graph/MutableGraph;
         3: .line 431
      StackMap locals:
      StackMap stack: com.google.common.graph.MutableGraph
            astore 2 /* subgraph */
        start local 2 // com.google.common.graph.MutableGraph subgraph
         4: .line 435
            aload 1 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.google.common.graph.Graph java.lang.Iterable com.google.common.graph.MutableGraph top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
         6: .line 436
            aload 2 /* subgraph */
            aload 3 /* node */
            invokeinterface com.google.common.graph.MutableGraph.addNode:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object node
         7: .line 435
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 438
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableGraph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
        10: .line 439
            aload 0 /* graph */
            aload 3 /* node */
            invokeinterface com.google.common.graph.Graph.successors:(Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: com.google.common.graph.Graph java.lang.Iterable com.google.common.graph.MutableGraph java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* successorNode */
        start local 5 // java.lang.Object successorNode
        12: .line 440
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableGraph.nodes:()Ljava/util/Set;
            aload 5 /* successorNode */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 441
            aload 2 /* subgraph */
            aload 3 /* node */
            aload 5 /* successorNode */
            invokeinterface com.google.common.graph.MutableGraph.putEdge:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object successorNode
        14: .line 439
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.lang.Object node
        15: .line 438
      StackMap locals: com.google.common.graph.Graph java.lang.Iterable com.google.common.graph.MutableGraph top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        16: .line 445
            aload 2 /* subgraph */
            areturn
        end local 2 // com.google.common.graph.MutableGraph subgraph
        end local 1 // java.lang.Iterable nodes
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0          graph  Lcom/google/common/graph/Graph<TN;>;
            0   17     1          nodes  Ljava/lang/Iterable<+TN;>;
            4   17     2       subgraph  Lcom/google/common/graph/MutableGraph<TN;>;
            6    7     3           node  TN;
           10   15     3           node  TN;
           12   14     5  successorNode  TN;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableGraph<TN;>;
    MethodParameters:
       Name  Flags
      graph  
      nodes  

  public static <N, V> com.google.common.graph.MutableValueGraph<N, V> inducedSubgraph(com.google.common.graph.ValueGraph<N, V>, java.lang.Iterable<? extends N>);
    descriptor: (Lcom/google/common/graph/ValueGraph;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableValueGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // com.google.common.graph.ValueGraph graph
        start local 1 // java.lang.Iterable nodes
         0: .line 459
            aload 1 /* nodes */
            instanceof java.util.Collection
            ifeq 2
         1: .line 460
            aload 0 /* graph */
            invokestatic com.google.common.graph.ValueGraphBuilder.from:(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraphBuilder;
            aload 1 /* nodes */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.size:()I
            invokevirtual com.google.common.graph.ValueGraphBuilder.expectedNodeCount:(I)Lcom/google/common/graph/ValueGraphBuilder;
            invokevirtual com.google.common.graph.ValueGraphBuilder.build:()Lcom/google/common/graph/MutableValueGraph;
            goto 3
         2: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokestatic com.google.common.graph.ValueGraphBuilder.from:(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraphBuilder;
            invokevirtual com.google.common.graph.ValueGraphBuilder.build:()Lcom/google/common/graph/MutableValueGraph;
         3: .line 458
      StackMap locals:
      StackMap stack: com.google.common.graph.MutableValueGraph
            astore 2 /* subgraph */
        start local 2 // com.google.common.graph.MutableValueGraph subgraph
         4: .line 462
            aload 1 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.google.common.graph.ValueGraph java.lang.Iterable com.google.common.graph.MutableValueGraph top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
         6: .line 463
            aload 2 /* subgraph */
            aload 3 /* node */
            invokeinterface com.google.common.graph.MutableValueGraph.addNode:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object node
         7: .line 462
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 465
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableValueGraph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
        10: .line 466
            aload 0 /* graph */
            aload 3 /* node */
            invokeinterface com.google.common.graph.ValueGraph.successors:(Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: com.google.common.graph.ValueGraph java.lang.Iterable com.google.common.graph.MutableValueGraph java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* successorNode */
        start local 5 // java.lang.Object successorNode
        12: .line 467
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableValueGraph.nodes:()Ljava/util/Set;
            aload 5 /* successorNode */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 468
            aload 2 /* subgraph */
        14: .line 469
            aload 3 /* node */
            aload 5 /* successorNode */
            aload 0 /* graph */
            aload 3 /* node */
            aload 5 /* successorNode */
            aconst_null
            invokeinterface com.google.common.graph.ValueGraph.edgeValueOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
        15: .line 468
            invokeinterface com.google.common.graph.MutableValueGraph.putEdgeValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object successorNode
        16: .line 466
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.lang.Object node
        17: .line 465
      StackMap locals: com.google.common.graph.ValueGraph java.lang.Iterable com.google.common.graph.MutableValueGraph top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        18: .line 473
            aload 2 /* subgraph */
            areturn
        end local 2 // com.google.common.graph.MutableValueGraph subgraph
        end local 1 // java.lang.Iterable nodes
        end local 0 // com.google.common.graph.ValueGraph graph
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0          graph  Lcom/google/common/graph/ValueGraph<TN;TV;>;
            0   19     1          nodes  Ljava/lang/Iterable<+TN;>;
            4   19     2       subgraph  Lcom/google/common/graph/MutableValueGraph<TN;TV;>;
            6    7     3           node  TN;
           10   17     3           node  TN;
           12   16     5  successorNode  TN;
    Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/graph/ValueGraph<TN;TV;>;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableValueGraph<TN;TV;>;
    MethodParameters:
       Name  Flags
      graph  
      nodes  

  public static <N, E> com.google.common.graph.MutableNetwork<N, E> inducedSubgraph(com.google.common.graph.Network<N, E>, java.lang.Iterable<? extends N>);
    descriptor: (Lcom/google/common/graph/Network;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableNetwork;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.google.common.graph.Network network
        start local 1 // java.lang.Iterable nodes
         0: .line 487
            aload 1 /* nodes */
            instanceof java.util.Collection
            ifeq 2
         1: .line 488
            aload 0 /* network */
            invokestatic com.google.common.graph.NetworkBuilder.from:(Lcom/google/common/graph/Network;)Lcom/google/common/graph/NetworkBuilder;
            aload 1 /* nodes */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.size:()I
            invokevirtual com.google.common.graph.NetworkBuilder.expectedNodeCount:(I)Lcom/google/common/graph/NetworkBuilder;
            invokevirtual com.google.common.graph.NetworkBuilder.build:()Lcom/google/common/graph/MutableNetwork;
            goto 3
         2: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* network */
            invokestatic com.google.common.graph.NetworkBuilder.from:(Lcom/google/common/graph/Network;)Lcom/google/common/graph/NetworkBuilder;
            invokevirtual com.google.common.graph.NetworkBuilder.build:()Lcom/google/common/graph/MutableNetwork;
         3: .line 486
      StackMap locals:
      StackMap stack: com.google.common.graph.MutableNetwork
            astore 2 /* subgraph */
        start local 2 // com.google.common.graph.MutableNetwork subgraph
         4: .line 490
            aload 1 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.google.common.graph.Network java.lang.Iterable com.google.common.graph.MutableNetwork top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
         6: .line 491
            aload 2 /* subgraph */
            aload 3 /* node */
            invokeinterface com.google.common.graph.MutableNetwork.addNode:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object node
         7: .line 490
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 493
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableNetwork.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* node */
        start local 3 // java.lang.Object node
        10: .line 494
            aload 0 /* network */
            aload 3 /* node */
            invokeinterface com.google.common.graph.Network.outEdges:(Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: com.google.common.graph.Network java.lang.Iterable com.google.common.graph.MutableNetwork java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* edge */
        start local 5 // java.lang.Object edge
        12: .line 495
            aload 0 /* network */
            aload 5 /* edge */
            invokeinterface com.google.common.graph.Network.incidentNodes:(Ljava/lang/Object;)Lcom/google/common/graph/EndpointPair;
            aload 3 /* node */
            invokevirtual com.google.common.graph.EndpointPair.adjacentNode:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* successorNode */
        start local 7 // java.lang.Object successorNode
        13: .line 496
            aload 2 /* subgraph */
            invokeinterface com.google.common.graph.MutableNetwork.nodes:()Ljava/util/Set;
            aload 7 /* successorNode */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 497
            aload 2 /* subgraph */
            aload 3 /* node */
            aload 7 /* successorNode */
            aload 5 /* edge */
            invokeinterface com.google.common.graph.MutableNetwork.addEdge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Object successorNode
        end local 5 // java.lang.Object edge
        15: .line 494
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.lang.Object node
        16: .line 493
      StackMap locals: com.google.common.graph.Network java.lang.Iterable com.google.common.graph.MutableNetwork top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 501
            aload 2 /* subgraph */
            areturn
        end local 2 // com.google.common.graph.MutableNetwork subgraph
        end local 1 // java.lang.Iterable nodes
        end local 0 // com.google.common.graph.Network network
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0        network  Lcom/google/common/graph/Network<TN;TE;>;
            0   18     1          nodes  Ljava/lang/Iterable<+TN;>;
            4   18     2       subgraph  Lcom/google/common/graph/MutableNetwork<TN;TE;>;
            6    7     3           node  TN;
           10   16     3           node  TN;
           12   15     5           edge  TE;
           13   15     7  successorNode  TN;
    Signature: <N:Ljava/lang/Object;E:Ljava/lang/Object;>(Lcom/google/common/graph/Network<TN;TE;>;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableNetwork<TN;TE;>;
    MethodParameters:
         Name  Flags
      network  
      nodes    

  public static <N> com.google.common.graph.MutableGraph<N> copyOf(com.google.common.graph.Graph<N>);
    descriptor: (Lcom/google/common/graph/Graph;)Lcom/google/common/graph/MutableGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.google.common.graph.Graph graph
         0: .line 506
            aload 0 /* graph */
            invokestatic com.google.common.graph.GraphBuilder.from:(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder;
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual com.google.common.graph.GraphBuilder.expectedNodeCount:(I)Lcom/google/common/graph/GraphBuilder;
            invokevirtual com.google.common.graph.GraphBuilder.build:()Lcom/google/common/graph/MutableGraph;
            astore 1 /* copy */
        start local 1 // com.google.common.graph.MutableGraph copy
         1: .line 507
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.google.common.graph.Graph com.google.common.graph.MutableGraph top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* node */
        start local 2 // java.lang.Object node
         3: .line 508
            aload 1 /* copy */
            aload 2 /* node */
            invokeinterface com.google.common.graph.MutableGraph.addNode:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Object node
         4: .line 507
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 510
            aload 0 /* graph */
            invokeinterface com.google.common.graph.Graph.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.graph.EndpointPair
            astore 2 /* edge */
        start local 2 // com.google.common.graph.EndpointPair edge
         7: .line 511
            aload 1 /* copy */
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            invokeinterface com.google.common.graph.MutableGraph.putEdge:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 2 // com.google.common.graph.EndpointPair edge
         8: .line 510
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 513
            aload 1 /* copy */
            areturn
        end local 1 // com.google.common.graph.MutableGraph copy
        end local 0 // com.google.common.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  graph  Lcom/google/common/graph/Graph<TN;>;
            1   10     1   copy  Lcom/google/common/graph/MutableGraph<TN;>;
            3    4     2   node  TN;
            7    8     2   edge  Lcom/google/common/graph/EndpointPair<TN;>;
    Signature: <N:Ljava/lang/Object;>(Lcom/google/common/graph/Graph<TN;>;)Lcom/google/common/graph/MutableGraph<TN;>;
    MethodParameters:
       Name  Flags
      graph  

  public static <N, V> com.google.common.graph.MutableValueGraph<N, V> copyOf(com.google.common.graph.ValueGraph<N, V>);
    descriptor: (Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/MutableValueGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.google.common.graph.ValueGraph graph
         0: .line 519
            aload 0 /* graph */
            invokestatic com.google.common.graph.ValueGraphBuilder.from:(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraphBuilder;
            aload 0 /* graph */
            invokeinterface com.google.common.graph.ValueGraph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual com.google.common.graph.ValueGraphBuilder.expectedNodeCount:(I)Lcom/google/common/graph/ValueGraphBuilder;
            invokevirtual com.google.common.graph.ValueGraphBuilder.build:()Lcom/google/common/graph/MutableValueGraph;
         1: .line 518
            astore 1 /* copy */
        start local 1 // com.google.common.graph.MutableValueGraph copy
         2: .line 520
            aload 0 /* graph */
            invokeinterface com.google.common.graph.ValueGraph.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.google.common.graph.ValueGraph com.google.common.graph.MutableValueGraph top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* node */
        start local 2 // java.lang.Object node
         4: .line 521
            aload 1 /* copy */
            aload 2 /* node */
            invokeinterface com.google.common.graph.MutableValueGraph.addNode:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Object node
         5: .line 520
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 523
            aload 0 /* graph */
            invokeinterface com.google.common.graph.ValueGraph.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals:
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.graph.EndpointPair
            astore 2 /* edge */
        start local 2 // com.google.common.graph.EndpointPair edge
         8: .line 524
            aload 1 /* copy */
         9: .line 525
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            aload 0 /* graph */
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 2 /* edge */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            aconst_null
            invokeinterface com.google.common.graph.ValueGraph.edgeValueOrDefault:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
        10: .line 524
            invokeinterface com.google.common.graph.MutableValueGraph.putEdgeValue:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.google.common.graph.EndpointPair edge
        11: .line 523
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 527
            aload 1 /* copy */
            areturn
        end local 1 // com.google.common.graph.MutableValueGraph copy
        end local 0 // com.google.common.graph.ValueGraph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0  graph  Lcom/google/common/graph/ValueGraph<TN;TV;>;
            2   13     1   copy  Lcom/google/common/graph/MutableValueGraph<TN;TV;>;
            4    5     2   node  TN;
            8   11     2   edge  Lcom/google/common/graph/EndpointPair<TN;>;
    Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/graph/ValueGraph<TN;TV;>;)Lcom/google/common/graph/MutableValueGraph<TN;TV;>;
    MethodParameters:
       Name  Flags
      graph  

  public static <N, E> com.google.common.graph.MutableNetwork<N, E> copyOf(com.google.common.graph.Network<N, E>);
    descriptor: (Lcom/google/common/graph/Network;)Lcom/google/common/graph/MutableNetwork;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.google.common.graph.Network network
         0: .line 533
            aload 0 /* network */
            invokestatic com.google.common.graph.NetworkBuilder.from:(Lcom/google/common/graph/Network;)Lcom/google/common/graph/NetworkBuilder;
         1: .line 534
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual com.google.common.graph.NetworkBuilder.expectedNodeCount:(I)Lcom/google/common/graph/NetworkBuilder;
         2: .line 535
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokevirtual com.google.common.graph.NetworkBuilder.expectedEdgeCount:(I)Lcom/google/common/graph/NetworkBuilder;
         3: .line 536
            invokevirtual com.google.common.graph.NetworkBuilder.build:()Lcom/google/common/graph/MutableNetwork;
         4: .line 532
            astore 1 /* copy */
        start local 1 // com.google.common.graph.MutableNetwork copy
         5: .line 537
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.nodes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: com.google.common.graph.Network com.google.common.graph.MutableNetwork top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* node */
        start local 2 // java.lang.Object node
         7: .line 538
            aload 1 /* copy */
            aload 2 /* node */
            invokeinterface com.google.common.graph.MutableNetwork.addNode:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Object node
         8: .line 537
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 540
            aload 0 /* network */
            invokeinterface com.google.common.graph.Network.edges:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* edge */
        start local 2 // java.lang.Object edge
        11: .line 541
            aload 0 /* network */
            aload 2 /* edge */
            invokeinterface com.google.common.graph.Network.incidentNodes:(Ljava/lang/Object;)Lcom/google/common/graph/EndpointPair;
            astore 4 /* endpointPair */
        start local 4 // com.google.common.graph.EndpointPair endpointPair
        12: .line 542
            aload 1 /* copy */
            aload 4 /* endpointPair */
            invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
            aload 4 /* endpointPair */
            invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
            aload 2 /* edge */
            invokeinterface com.google.common.graph.MutableNetwork.addEdge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 4 // com.google.common.graph.EndpointPair endpointPair
        end local 2 // java.lang.Object edge
        13: .line 540
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 544
            aload 1 /* copy */
            areturn
        end local 1 // com.google.common.graph.MutableNetwork copy
        end local 0 // com.google.common.graph.Network network
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0       network  Lcom/google/common/graph/Network<TN;TE;>;
            5   15     1          copy  Lcom/google/common/graph/MutableNetwork<TN;TE;>;
            7    8     2          node  TN;
           11   13     2          edge  TE;
           12   13     4  endpointPair  Lcom/google/common/graph/EndpointPair<TN;>;
    Signature: <N:Ljava/lang/Object;E:Ljava/lang/Object;>(Lcom/google/common/graph/Network<TN;TE;>;)Lcom/google/common/graph/MutableNetwork<TN;TE;>;
    MethodParameters:
         Name  Flags
      network  

  static int checkNonNegative(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int value
         0: .line 549
            iload 0 /* value */
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Not true that %s is non-negative."
            iload 0 /* value */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         3: .line 550
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  I
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
       Name  Flags
      value  

  static long checkNonNegative(long);
    descriptor: (J)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 555
            lload 0 /* value */
            lconst_0
            lcmp
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Not true that %s is non-negative."
            lload 0 /* value */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;J)V
         3: .line 556
            lload 0 /* value */
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  J
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
       Name  Flags
      value  

  static int checkPositive(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int value
         0: .line 561
            iload 0 /* value */
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Not true that %s is positive."
            iload 0 /* value */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         3: .line 562
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  I
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
       Name  Flags
      value  

  static long checkPositive(long);
    descriptor: (J)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 567
            lload 0 /* value */
            lconst_0
            lcmp
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Not true that %s is positive."
            lload 0 /* value */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;J)V
         3: .line 568
            lload 0 /* value */
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  J
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "Graphs.java"
NestMembers:
  com.google.common.graph.Graphs$NodeVisitState  com.google.common.graph.Graphs$TransposedGraph  com.google.common.graph.Graphs$TransposedNetwork  com.google.common.graph.Graphs$TransposedValueGraph
InnerClasses:
  private final NodeVisitState = com.google.common.graph.Graphs$NodeVisitState of com.google.common.graph.Graphs
  private TransposedGraph = com.google.common.graph.Graphs$TransposedGraph of com.google.common.graph.Graphs
  private TransposedNetwork = com.google.common.graph.Graphs$TransposedNetwork of com.google.common.graph.Graphs
  private TransposedValueGraph = com.google.common.graph.Graphs$TransposedValueGraph of com.google.common.graph.Graphs
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()