public final class org.graalvm.graphio.GraphOutput<G, M> implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.graphio.GraphOutput
  super_class: java.lang.Object
{
  private final org.graalvm.graphio.GraphProtocol<G, ?, ?, ?, ?, M, ?, ?, ?, ?> printer;
    descriptor: Lorg/graalvm/graphio/GraphProtocol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/graphio/GraphProtocol<TG;****TM;****>;

  private void <init>(org.graalvm.graphio.GraphProtocol<G, ?, ?, ?, ?, M, ?, ?, ?, ?>);
    descriptor: (Lorg/graalvm/graphio/GraphProtocol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.graphio.GraphOutput this
        start local 1 // org.graalvm.graphio.GraphProtocol p
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* p */
            putfield org.graalvm.graphio.GraphOutput.printer:Lorg/graalvm/graphio/GraphProtocol;
         2: .line 46
            return
        end local 1 // org.graalvm.graphio.GraphProtocol p
        end local 0 // org.graalvm.graphio.GraphOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/graphio/GraphOutput<TG;TM;>;
            0    3     1     p  Lorg/graalvm/graphio/GraphProtocol<TG;****TM;****>;
    Signature: (Lorg/graalvm/graphio/GraphProtocol<TG;****TM;****>;)V
    MethodParameters:
      Name  Flags
      p     

  public static <G, N, C, P> org.graalvm.graphio.GraphOutput$Builder<G, N, ?> newBuilder(org.graalvm.graphio.GraphStructure<G, N, C, P>);
    descriptor: (Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.graphio.GraphStructure structure
         0: .line 60
            new org.graalvm.graphio.GraphOutput$Builder
            dup
            aload 0 /* structure */
            invokespecial org.graalvm.graphio.GraphOutput$Builder.<init>:(Lorg/graalvm/graphio/GraphStructure;)V
            areturn
        end local 0 // org.graalvm.graphio.GraphStructure structure
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  structure  Lorg/graalvm/graphio/GraphStructure<TG;TN;TC;TP;>;
    Signature: <G:Ljava/lang/Object;N:Ljava/lang/Object;C:Ljava/lang/Object;P:Ljava/lang/Object;>(Lorg/graalvm/graphio/GraphStructure<TG;TN;TC;TP;>;)Lorg/graalvm/graphio/GraphOutput$Builder<TG;TN;*>;
    MethodParameters:
           Name  Flags
      structure  

  public void beginGroup(G, java.lang.String, java.lang.String, M, int, java.util.Map<? extends java.lang.Object, ? extends java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ILjava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.graphio.GraphOutput this
        start local 1 // java.lang.Object forGraph
        start local 2 // java.lang.String name
        start local 3 // java.lang.String shortName
        start local 4 // java.lang.Object method
        start local 5 // int bci
        start local 6 // java.util.Map properties
         0: .line 75
            aload 0 /* this */
            getfield org.graalvm.graphio.GraphOutput.printer:Lorg/graalvm/graphio/GraphProtocol;
            aload 1 /* forGraph */
            aload 2 /* name */
            aload 3 /* shortName */
            aload 4 /* method */
            iload 5 /* bci */
            aload 6 /* properties */
            invokevirtual org.graalvm.graphio.GraphProtocol.beginGroup:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ILjava/util/Map;)V
         1: .line 76
            return
        end local 6 // java.util.Map properties
        end local 5 // int bci
        end local 4 // java.lang.Object method
        end local 3 // java.lang.String shortName
        end local 2 // java.lang.String name
        end local 1 // java.lang.Object forGraph
        end local 0 // org.graalvm.graphio.GraphOutput this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/graphio/GraphOutput<TG;TM;>;
            0    2     1    forGraph  TG;
            0    2     2        name  Ljava/lang/String;
            0    2     3   shortName  Ljava/lang/String;
            0    2     4      method  TM;
            0    2     5         bci  I
            0    2     6  properties  Ljava/util/Map<+Ljava/lang/Object;+Ljava/lang/Object;>;
    Exceptions:
      throws java.io.IOException
    Signature: (TG;Ljava/lang/String;Ljava/lang/String;TM;ILjava/util/Map<+Ljava/lang/Object;+Ljava/lang/Object;>;)V
    MethodParameters:
            Name  Flags
      forGraph    
      name        
      shortName   
      method      
      bci         
      properties  

  public void print(G, java.util.Map<? extends java.lang.Object, ? extends java.lang.Object>, int, java.lang.String, []);
    descriptor: (Ljava/lang/Object;Ljava/util/Map;ILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.graphio.GraphOutput this
        start local 1 // java.lang.Object graph
        start local 2 // java.util.Map properties
        start local 3 // int id
        start local 4 // java.lang.String format
        start local 5 // java.lang.Object[] args
         0: .line 89
            aload 0 /* this */
            getfield org.graalvm.graphio.GraphOutput.printer:Lorg/graalvm/graphio/GraphProtocol;
            aload 1 /* graph */
            aload 2 /* properties */
            iload 3 /* id */
            aload 4 /* format */
            aload 5 /* args */
            invokevirtual org.graalvm.graphio.GraphProtocol.print:(Ljava/lang/Object;Ljava/util/Map;ILjava/lang/String;[Ljava/lang/Object;)V
         1: .line 90
            return
        end local 5 // java.lang.Object[] args
        end local 4 // java.lang.String format
        end local 3 // int id
        end local 2 // java.util.Map properties
        end local 1 // java.lang.Object graph
        end local 0 // org.graalvm.graphio.GraphOutput this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/graphio/GraphOutput<TG;TM;>;
            0    2     1       graph  TG;
            0    2     2  properties  Ljava/util/Map<+Ljava/lang/Object;+Ljava/lang/Object;>;
            0    2     3          id  I
            0    2     4      format  Ljava/lang/String;
            0    2     5        args  [Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    Signature: (TG;Ljava/util/Map<+Ljava/lang/Object;+Ljava/lang/Object;>;ILjava/lang/String;[Ljava/lang/Object;)V
    MethodParameters:
            Name  Flags
      graph       
      properties  
      id          
      format      
      args        

  public void endGroup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.graphio.GraphOutput this
         0: .line 98
            aload 0 /* this */
            getfield org.graalvm.graphio.GraphOutput.printer:Lorg/graalvm/graphio/GraphProtocol;
            invokevirtual org.graalvm.graphio.GraphProtocol.endGroup:()V
         1: .line 99
            return
        end local 0 // org.graalvm.graphio.GraphOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/graphio/GraphOutput<TG;TM;>;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.graphio.GraphOutput this
         0: .line 106
            aload 0 /* this */
            getfield org.graalvm.graphio.GraphOutput.printer:Lorg/graalvm/graphio/GraphProtocol;
            invokevirtual org.graalvm.graphio.GraphProtocol.close:()V
         1: .line 107
            return
        end local 0 // org.graalvm.graphio.GraphOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/graphio/GraphOutput<TG;TM;>;
}
Signature: <G:Ljava/lang/Object;M:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Closeable;
SourceFile: "GraphOutput.java"
NestMembers:
  org.graalvm.graphio.GraphOutput$Builder  org.graalvm.graphio.GraphOutput$ElementsAndLocations  org.graalvm.graphio.GraphOutput$StackLocations
InnerClasses:
  public final Builder = org.graalvm.graphio.GraphOutput$Builder of org.graalvm.graphio.GraphOutput
  private final ElementsAndLocations = org.graalvm.graphio.GraphOutput$ElementsAndLocations of org.graalvm.graphio.GraphOutput
  private final StackLocations = org.graalvm.graphio.GraphOutput$StackLocations of org.graalvm.graphio.GraphOutput