class com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList
  super_class: java.lang.Object
{
  private final java.util.List<java.io.OutputStream> outs;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/io/OutputStream;>;

  private boolean seenException;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private java.util.Map<java.io.OutputStream, java.lang.String> reportedExceptions;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/io/OutputStream;Ljava/lang/String;>;

  final com.oracle.truffle.api.impl.DispatchOutputStream this$0;
    descriptor: Lcom/oracle/truffle/api/impl/DispatchOutputStream;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.api.impl.DispatchOutputStream);
    descriptor: (Lcom/oracle/truffle/api/impl/DispatchOutputStream;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
         0: .line 153
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.this$0:Lcom/oracle/truffle/api/impl/DispatchOutputStream;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 155
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
         2: .line 153
            return
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
    MethodParameters:
        Name  Flags
      this$0  final

  void add(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // java.io.OutputStream outConsumer
         0: .line 160
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            aload 1 /* outConsumer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 161
            return
        end local 1 // java.io.OutputStream outConsumer
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0    2     1  outConsumer  Ljava/io/OutputStream;
    MethodParameters:
             Name  Flags
      outConsumer  

  void remove(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // java.io.OutputStream outConsumer
         0: .line 164
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            aload 1 /* outConsumer */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 165
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 166
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
            ifnull 4
         3: .line 167
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
            aload 1 /* outConsumer */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 165
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream outConsumer
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0    9     1  outConsumer  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    MethodParameters:
             Name  Flags
      outConsumer  

  boolean isEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
         0: .line 173
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ireturn
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;

  void writeMulti(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // int b
         0: .line 178
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList int top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.OutputStream
            astore 2 /* os */
        start local 2 // java.io.OutputStream os
         2: .line 180
            aload 2 /* os */
            iload 1 /* b */
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 181
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList int java.io.OutputStream java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 4 /* t */
        start local 4 // java.lang.Throwable t
         5: .line 182
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
            ifne 8
         6: .line 183
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 184
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
         8: .line 186
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            ldc "write(I)"
            aload 2 /* os */
            aload 4 /* t */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.handleException:(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t
        end local 2 // java.io.OutputStream os
         9: .line 178
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 189
            return
        end local 1 // int b
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0   11     1     b  I
            2    9     2    os  Ljava/io/OutputStream;
            5    9     4     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      b     

  void writeMulti(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // byte[] b
         0: .line 193
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.OutputStream
            astore 2 /* os */
        start local 2 // java.io.OutputStream os
         2: .line 195
            aload 2 /* os */
            aload 1 /* b */
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 196
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] java.io.OutputStream java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 4 /* t */
        start local 4 // java.lang.Throwable t
         5: .line 197
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
            ifne 8
         6: .line 198
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 199
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
         8: .line 201
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            ldc "write(B[)"
            aload 2 /* os */
            aload 4 /* t */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.handleException:(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t
        end local 2 // java.io.OutputStream os
         9: .line 193
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 204
            return
        end local 1 // byte[] b
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0   11     1     b  [B
            2    9     2    os  Ljava/io/OutputStream;
            5    9     4     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      b     

  void writeMulti(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 208
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] int int top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.OutputStream
            astore 4 /* os */
        start local 4 // java.io.OutputStream os
         2: .line 210
            aload 4 /* os */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         3: .line 211
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] int int java.io.OutputStream java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 6 /* t */
        start local 6 // java.lang.Throwable t
         5: .line 212
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
            ifne 8
         6: .line 213
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 214
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
         8: .line 216
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            ldc "write(B[II)"
            aload 4 /* os */
            aload 6 /* t */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.handleException:(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable t
        end local 4 // java.io.OutputStream os
         9: .line 208
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList byte[] int int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 219
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0   11     1     b  [B
            0   11     2   off  I
            0   11     3   len  I
            2    9     4    os  Ljava/io/OutputStream;
            5    9     6     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  void flushMulti();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
         0: .line 223
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.OutputStream
            astore 1 /* os */
        start local 1 // java.io.OutputStream os
         2: .line 225
            aload 1 /* os */
            invokevirtual java.io.OutputStream.flush:()V
         3: .line 226
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList java.io.OutputStream java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         5: .line 227
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
            ifne 8
         6: .line 228
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 229
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
         8: .line 231
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            ldc "flush()"
            aload 1 /* os */
            aload 3 /* t */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.handleException:(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        end local 1 // java.io.OutputStream os
         9: .line 223
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 234
            return
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            2    9     1    os  Ljava/io/OutputStream;
            5    9     3     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  void closeMulti();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
         0: .line 238
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.OutputStream
            astore 1 /* os */
        start local 1 // java.io.OutputStream os
         2: .line 240
            aload 1 /* os */
            invokevirtual java.io.OutputStream.close:()V
         3: .line 241
            goto 9
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList java.io.OutputStream java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         5: .line 242
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
            ifne 8
         6: .line 243
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 244
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.seenException:Z
         8: .line 246
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            ldc "close()"
            aload 1 /* os */
            aload 3 /* t */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.handleException:(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        end local 1 // java.io.OutputStream os
         9: .line 238
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 249
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.outs:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        11: .line 250
            aload 0 /* this */
            dup
            astore 1
            monitorenter
        12: .line 251
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
        13: .line 250
            aload 1
            monitorexit
        14: goto 17
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList
      StackMap stack: java.lang.Throwable
        15: aload 1
            monitorexit
        16: athrow
        17: .line 253
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            2    9     1    os  Ljava/io/OutputStream;
            5    9     3     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
          12    14      15  any
          15    16      15  any
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  private void handleException(java.lang.String, java.io.OutputStream, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
        start local 1 // java.lang.String method
        start local 2 // java.io.OutputStream os
        start local 3 // java.lang.Throwable t
         0: .line 256
            aload 3 /* t */
            instanceof java.lang.ThreadDeath
            ifeq 2
         1: .line 257
            aload 3 /* t */
            checkcast java.lang.ThreadDeath
            athrow
         2: .line 264
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* description */
        start local 4 // java.lang.String description
         3: .line 266
            aload 0 /* this */
            dup
            astore 6
            monitorenter
         4: .line 267
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
            ifnonnull 6
         5: .line 268
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
         6: .line 270
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList java.lang.String java.io.OutputStream java.lang.Throwable java.lang.String top com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.reportedExceptions:Ljava/util/Map;
            aload 2 /* os */
            aload 4 /* description */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* report */
        start local 5 // boolean report
         9: .line 266
            aload 6
            monitorexit
        10: goto 13
        end local 5 // boolean report
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 6
            monitorexit
        12: athrow
        start local 5 // boolean report
        13: .line 272
      StackMap locals: com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList java.lang.String java.io.OutputStream java.lang.Throwable java.lang.String int
      StackMap stack:
            iload 5 /* report */
            ifeq 18
        14: .line 273
            ldc "Output operation %s failed for %s."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            aastore
            dup
            iconst_1
            aload 2 /* os */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
        15: .line 274
            new java.lang.Exception
            dup
            aload 6 /* message */
            aload 3 /* t */
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 7 /* exception */
        start local 7 // java.lang.Exception exception
        16: .line 275
            new java.io.PrintStream
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList.this$0:Lcom/oracle/truffle/api/impl/DispatchOutputStream;
            getfield com.oracle.truffle.api.impl.DispatchOutputStream.out:Ljava/io/OutputStream;
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 8 /* stream */
        start local 8 // java.io.PrintStream stream
        17: .line 276
            aload 7 /* exception */
            aload 8 /* stream */
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        end local 8 // java.io.PrintStream stream
        end local 7 // java.lang.Exception exception
        end local 6 // java.lang.String message
        18: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean report
        end local 4 // java.lang.String description
        end local 3 // java.lang.Throwable t
        end local 2 // java.io.OutputStream os
        end local 1 // java.lang.String method
        end local 0 // com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lcom/oracle/truffle/api/impl/DispatchOutputStream$OutputStreamList;
            0   19     1       method  Ljava/lang/String;
            0   19     2           os  Ljava/io/OutputStream;
            0   19     3            t  Ljava/lang/Throwable;
            3   19     4  description  Ljava/lang/String;
            9   11     5       report  Z
           13   19     5       report  Z
           15   18     6      message  Ljava/lang/String;
           16   18     7    exception  Ljava/lang/Exception;
           17   18     8       stream  Ljava/io/PrintStream;
      Exception table:
        from    to  target  type
           4    10      11  any
          11    12      11  any
    MethodParameters:
        Name  Flags
      method  
      os      
      t       
}
SourceFile: "DispatchOutputStream.java"
NestHost: com.oracle.truffle.api.impl.DispatchOutputStream
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  OutputStreamList = com.oracle.truffle.api.impl.DispatchOutputStream$OutputStreamList of com.oracle.truffle.api.impl.DispatchOutputStream