public class org.apache.avro.file.DataFileWriter<D> implements java.io.Closeable, java.io.Flushable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.avro.file.DataFileWriter
  super_class: java.lang.Object
{
  private org.apache.avro.Schema schema;
    descriptor: Lorg/apache/avro/Schema;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.io.DatumWriter<D> dout;
    descriptor: Lorg/apache/avro/io/DatumWriter;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/avro/io/DatumWriter<TD;>;

  private java.io.OutputStream underlyingStream;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.file.DataFileWriter<D>.BufferedFileOutputStream out;
    descriptor: Lorg/apache/avro/file/DataFileWriter$BufferedFileOutputStream;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/avro/file/DataFileWriter<TD;>.BufferedFileOutputStream;

  private org.apache.avro.io.BinaryEncoder vout;
    descriptor: Lorg/apache/avro/io/BinaryEncoder;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, byte[]> meta;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;[B>;

  private long blockCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream buffer;
    descriptor: Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.io.BinaryEncoder bufOut;
    descriptor: Lorg/apache/avro/io/BinaryEncoder;
    flags: (0x0002) ACC_PRIVATE

  private byte[] sync;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

  private boolean isOpen;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.file.Codec codec;
    descriptor: Lorg/apache/avro/file/Codec;
    flags: (0x0002) ACC_PRIVATE

  private boolean flushOnEveryBlock;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.apache.avro.io.DatumWriter<D>);
    descriptor: (Lorg/apache/avro/io/DatumWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.io.DatumWriter dout
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
         2: .line 74
            aload 0 /* this */
            ldc 64000
            putfield org.apache.avro.file.DataFileWriter.syncInterval:I
         3: .line 79
            aload 0 /* this */
            iconst_1
            putfield org.apache.avro.file.DataFileWriter.flushOnEveryBlock:Z
         4: .line 83
            aload 0 /* this */
            aload 1 /* dout */
            putfield org.apache.avro.file.DataFileWriter.dout:Lorg/apache/avro/io/DatumWriter;
         5: .line 84
            return
        end local 1 // org.apache.avro.io.DatumWriter dout
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    6     1  dout  Lorg/apache/avro/io/DatumWriter<TD;>;
    Signature: (Lorg/apache/avro/io/DatumWriter<TD;>;)V
    MethodParameters:
      Name  Flags
      dout  

  private void assertOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 87
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.isOpen:Z
            ifne 2
         1: .line 88
            new org.apache.avro.AvroRuntimeException
            dup
            ldc "not open"
            invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;

  private void assertNotOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 92
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.isOpen:Z
            ifeq 2
         1: .line 93
            new org.apache.avro.AvroRuntimeException
            dup
            ldc "already open"
            invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;

  public org.apache.avro.file.DataFileWriter<D> setCodec(org.apache.avro.file.CodecFactory);
    descriptor: (Lorg/apache/avro/file/CodecFactory;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.file.CodecFactory c
         0: .line 101
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertNotOpen:()V
         1: .line 102
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual org.apache.avro.file.CodecFactory.createInstance:()Lorg/apache/avro/file/Codec;
            putfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
         2: .line 103
            aload 0 /* this */
            ldc "avro.codec"
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
            invokevirtual org.apache.avro.file.Codec.getName:()Ljava/lang/String;
            invokevirtual org.apache.avro.file.DataFileWriter.setMetaInternal:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter;
            pop
         3: .line 104
            aload 0 /* this */
            areturn
        end local 1 // org.apache.avro.file.CodecFactory c
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    4     1     c  Lorg/apache/avro/file/CodecFactory;
    Signature: (Lorg/apache/avro/file/CodecFactory;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
      Name  Flags
      c     

  public org.apache.avro.file.DataFileWriter<D> setSyncInterval(int);
    descriptor: (I)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // int syncInterval
         0: .line 125
            iload 1 /* syncInterval */
            bipush 32
            if_icmplt 1
            iload 1 /* syncInterval */
            ldc 1073741824
            if_icmple 2
         1: .line 126
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid syncInterval value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* syncInterval */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* syncInterval */
            putfield org.apache.avro.file.DataFileWriter.syncInterval:I
         3: .line 129
            aload 0 /* this */
            areturn
        end local 1 // int syncInterval
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    4     1  syncInterval  I
    Signature: (I)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
              Name  Flags
      syncInterval  

  public org.apache.avro.file.DataFileWriter<D> create(org.apache.avro.Schema, java.io.File);
    descriptor: (Lorg/apache/avro/Schema;Ljava/io/File;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.Schema schema
        start local 2 // java.io.File file
         0: .line 134
            new org.apache.avro.file.SyncableFileOutputStream
            dup
            aload 2 /* file */
            invokespecial org.apache.avro.file.SyncableFileOutputStream.<init>:(Ljava/io/File;)V
            astore 3 /* sfos */
        start local 3 // org.apache.avro.file.SyncableFileOutputStream sfos
         1: .line 136
            aload 0 /* this */
            aload 1 /* schema */
            aload 3 /* sfos */
            aconst_null
            invokevirtual org.apache.avro.file.DataFileWriter.create:(Lorg/apache/avro/Schema;Ljava/io/OutputStream;[B)Lorg/apache/avro/file/DataFileWriter;
         2: areturn
         3: .line 137
      StackMap locals: org.apache.avro.file.DataFileWriter org.apache.avro.Schema java.io.File org.apache.avro.file.SyncableFileOutputStream
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         4: .line 138
            aload 3 /* sfos */
            invokestatic org.apache.commons.compress.utils.IOUtils.closeQuietly:(Ljava/io/Closeable;)V
         5: .line 139
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        end local 3 // org.apache.avro.file.SyncableFileOutputStream sfos
        end local 2 // java.io.File file
        end local 1 // org.apache.avro.Schema schema
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    6     1  schema  Lorg/apache/avro/Schema;
            0    6     2    file  Ljava/io/File;
            1    6     3    sfos  Lorg/apache/avro/file/SyncableFileOutputStream;
            4    6     4       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/avro/Schema;Ljava/io/File;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
        Name  Flags
      schema  
      file    

  public org.apache.avro.file.DataFileWriter<D> create(org.apache.avro.Schema, java.io.OutputStream);
    descriptor: (Lorg/apache/avro/Schema;Ljava/io/OutputStream;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.Schema schema
        start local 2 // java.io.OutputStream outs
         0: .line 145
            aload 0 /* this */
            aload 1 /* schema */
            aload 2 /* outs */
            aconst_null
            invokevirtual org.apache.avro.file.DataFileWriter.create:(Lorg/apache/avro/Schema;Ljava/io/OutputStream;[B)Lorg/apache/avro/file/DataFileWriter;
            areturn
        end local 2 // java.io.OutputStream outs
        end local 1 // org.apache.avro.Schema schema
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    1     1  schema  Lorg/apache/avro/Schema;
            0    1     2    outs  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/avro/Schema;Ljava/io/OutputStream;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
        Name  Flags
      schema  
      outs    

  public org.apache.avro.file.DataFileWriter<D> create(org.apache.avro.Schema, java.io.OutputStream, byte[]);
    descriptor: (Lorg/apache/avro/Schema;Ljava/io/OutputStream;[B)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.Schema schema
        start local 2 // java.io.OutputStream outs
        start local 3 // byte[] sync
         0: .line 150
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertNotOpen:()V
         1: .line 152
            aload 0 /* this */
            aload 1 /* schema */
            putfield org.apache.avro.file.DataFileWriter.schema:Lorg/apache/avro/Schema;
         2: .line 153
            aload 0 /* this */
            ldc "avro.schema"
            aload 1 /* schema */
            invokevirtual org.apache.avro.Schema.toString:()Ljava/lang/String;
            invokevirtual org.apache.avro.file.DataFileWriter.setMetaInternal:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter;
            pop
         3: .line 154
            aload 3 /* sync */
            ifnonnull 6
         4: .line 155
            aload 0 /* this */
            invokestatic org.apache.avro.file.DataFileWriter.generateSync:()[B
            putfield org.apache.avro.file.DataFileWriter.sync:[B
         5: .line 156
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 3 /* sync */
            arraylength
            bipush 16
            if_icmpne 9
         7: .line 157
            aload 0 /* this */
            aload 3 /* sync */
            putfield org.apache.avro.file.DataFileWriter.sync:[B
         8: .line 158
            goto 10
         9: .line 159
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "sync must be exactly 16 bytes"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* outs */
            invokevirtual org.apache.avro.file.DataFileWriter.init:(Ljava/io/OutputStream;)V
        11: .line 164
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            getstatic org.apache.avro.file.DataFileConstants.MAGIC:[B
            invokevirtual org.apache.avro.io.BinaryEncoder.writeFixed:([B)V
        12: .line 166
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.writeMapStart:()V
        13: .line 167
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            i2l
            invokevirtual org.apache.avro.io.BinaryEncoder.setItemCount:(J)V
        14: .line 168
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.apache.avro.file.DataFileWriter org.apache.avro.Schema java.io.OutputStream byte[] top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        16: .line 169
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.startItem:()V
        17: .line 170
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.apache.avro.io.BinaryEncoder.writeString:(Ljava/lang/String;)V
        18: .line 171
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual org.apache.avro.io.BinaryEncoder.writeBytes:([B)V
        end local 4 // java.util.Map$Entry entry
        19: .line 168
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        20: .line 173
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.writeMapEnd:()V
        21: .line 174
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.sync:[B
            invokevirtual org.apache.avro.io.BinaryEncoder.writeFixed:([B)V
        22: .line 175
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.flush:()V
        23: .line 176
            aload 0 /* this */
            areturn
        end local 3 // byte[] sync
        end local 2 // java.io.OutputStream outs
        end local 1 // org.apache.avro.Schema schema
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   24     1  schema  Lorg/apache/avro/Schema;
            0   24     2    outs  Ljava/io/OutputStream;
            0   24     3    sync  [B
           16   19     4   entry  Ljava/util/Map$Entry<Ljava/lang/String;[B>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/avro/Schema;Ljava/io/OutputStream;[B)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
        Name  Flags
      schema  
      outs    
      sync    

  public void setFlushOnEveryBlock(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // boolean flushOnEveryBlock
         0: .line 190
            aload 0 /* this */
            iload 1 /* flushOnEveryBlock */
            putfield org.apache.avro.file.DataFileWriter.flushOnEveryBlock:Z
         1: .line 191
            return
        end local 1 // boolean flushOnEveryBlock
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    2     1  flushOnEveryBlock  Z
    MethodParameters:
                   Name  Flags
      flushOnEveryBlock  

  public boolean isFlushOnEveryBlock();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 198
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.flushOnEveryBlock:Z
            ireturn
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;

  public org.apache.avro.file.DataFileWriter<D> appendTo(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.io.File file
         0: .line 203
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new org.apache.avro.file.SeekableFileInput
            dup
            aload 1 /* file */
            invokespecial org.apache.avro.file.SeekableFileInput.<init>:(Ljava/io/File;)V
            astore 4 /* input */
        start local 4 // org.apache.avro.file.SeekableInput input
         2: .line 204
            new org.apache.avro.file.SyncableFileOutputStream
            dup
            aload 1 /* file */
            iconst_1
            invokespecial org.apache.avro.file.SyncableFileOutputStream.<init>:(Ljava/io/File;Z)V
            astore 5 /* output */
        start local 5 // java.io.OutputStream output
         3: .line 205
            aload 0 /* this */
            aload 4 /* input */
            aload 5 /* output */
            invokevirtual org.apache.avro.file.DataFileWriter.appendTo:(Lorg/apache/avro/file/SeekableInput;Ljava/io/OutputStream;)Lorg/apache/avro/file/DataFileWriter;
         4: .line 206
            aload 4 /* input */
            ifnull 5
            aload 4 /* input */
            invokeinterface org.apache.avro.file.SeekableInput.close:()V
         5: .line 205
      StackMap locals: org.apache.avro.file.DataFileWriter java.io.File java.lang.Throwable java.lang.Throwable org.apache.avro.file.SeekableInput java.io.OutputStream
      StackMap stack: org.apache.avro.file.DataFileWriter
            areturn
        end local 5 // java.io.OutputStream output
      StackMap locals: org.apache.avro.file.DataFileWriter java.io.File java.lang.Throwable java.lang.Throwable org.apache.avro.file.SeekableInput
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 206
            aload 4 /* input */
            ifnull 8
            aload 4 /* input */
            invokeinterface org.apache.avro.file.SeekableInput.close:()V
        end local 4 // org.apache.avro.file.SeekableInput input
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
        end local 1 // java.io.File file
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   12     1    file  Ljava/io/File;
            2    8     4   input  Lorg/apache/avro/file/SeekableInput;
            3    6     5  output  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           2     4       6  any
           1     5       9  any
           6     9       9  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
      Name  Flags
      file  

  public org.apache.avro.file.DataFileWriter<D> appendTo(org.apache.avro.file.SeekableInput, java.io.OutputStream);
    descriptor: (Lorg/apache/avro/file/SeekableInput;Ljava/io/OutputStream;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.file.SeekableInput in
        start local 2 // java.io.OutputStream out
         0: .line 219
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertNotOpen:()V
         1: .line 220
            new org.apache.avro.file.DataFileReader
            dup
            aload 1 /* in */
            new org.apache.avro.generic.GenericDatumReader
            dup
            invokespecial org.apache.avro.generic.GenericDatumReader.<init>:()V
            invokespecial org.apache.avro.file.DataFileReader.<init>:(Lorg/apache/avro/file/SeekableInput;Lorg/apache/avro/io/DatumReader;)V
            astore 3 /* reader */
        start local 3 // org.apache.avro.file.DataFileReader reader
         2: .line 221
            aload 0 /* this */
            aload 3 /* reader */
            invokevirtual org.apache.avro.file.DataFileReader.getSchema:()Lorg/apache/avro/Schema;
            putfield org.apache.avro.file.DataFileWriter.schema:Lorg/apache/avro/Schema;
         3: .line 222
            aload 0 /* this */
            aload 3 /* reader */
            invokevirtual org.apache.avro.file.DataFileReader.getHeader:()Lorg/apache/avro/file/DataFileStream$Header;
            getfield org.apache.avro.file.DataFileStream$Header.sync:[B
            putfield org.apache.avro.file.DataFileWriter.sync:[B
         4: .line 223
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
            aload 3 /* reader */
            invokevirtual org.apache.avro.file.DataFileReader.getHeader:()Lorg/apache/avro/file/DataFileStream$Header;
            getfield org.apache.avro.file.DataFileStream$Header.meta:Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         5: .line 224
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
            ldc "avro.codec"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* codecBytes */
        start local 4 // byte[] codecBytes
         6: .line 225
            aload 4 /* codecBytes */
            ifnull 10
         7: .line 226
            new java.lang.String
            dup
            aload 4 /* codecBytes */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 5 /* strCodec */
        start local 5 // java.lang.String strCodec
         8: .line 227
            aload 0 /* this */
            aload 5 /* strCodec */
            invokestatic org.apache.avro.file.CodecFactory.fromString:(Ljava/lang/String;)Lorg/apache/avro/file/CodecFactory;
            invokevirtual org.apache.avro.file.CodecFactory.createInstance:()Lorg/apache/avro/file/Codec;
            putfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
        end local 5 // java.lang.String strCodec
         9: .line 228
            goto 11
        10: .line 229
      StackMap locals: org.apache.avro.file.DataFileReader byte[]
      StackMap stack:
            aload 0 /* this */
            invokestatic org.apache.avro.file.CodecFactory.nullCodec:()Lorg/apache/avro/file/CodecFactory;
            invokevirtual org.apache.avro.file.CodecFactory.createInstance:()Lorg/apache/avro/file/Codec;
            putfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
        11: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual org.apache.avro.file.DataFileWriter.init:(Ljava/io/OutputStream;)V
        12: .line 234
            aload 0 /* this */
            areturn
        end local 4 // byte[] codecBytes
        end local 3 // org.apache.avro.file.DataFileReader reader
        end local 2 // java.io.OutputStream out
        end local 1 // org.apache.avro.file.SeekableInput in
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   13     1          in  Lorg/apache/avro/file/SeekableInput;
            0   13     2         out  Ljava/io/OutputStream;
            2   13     3      reader  Lorg/apache/avro/file/DataFileReader<TD;>;
            6   13     4  codecBytes  [B
            8    9     5    strCodec  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/avro/file/SeekableInput;Ljava/io/OutputStream;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
      Name  Flags
      in    
      out   

  private void init(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.io.OutputStream outs
         0: .line 238
            aload 0 /* this */
            aload 1 /* outs */
            putfield org.apache.avro.file.DataFileWriter.underlyingStream:Ljava/io/OutputStream;
         1: .line 239
            aload 0 /* this */
            new org.apache.avro.file.DataFileWriter$BufferedFileOutputStream
            dup
            aload 0 /* this */
            aload 1 /* outs */
            invokespecial org.apache.avro.file.DataFileWriter$BufferedFileOutputStream.<init>:(Lorg/apache/avro/file/DataFileWriter;Ljava/io/OutputStream;)V
            putfield org.apache.avro.file.DataFileWriter.out:Lorg/apache/avro/file/DataFileWriter$BufferedFileOutputStream;
         2: .line 240
            new org.apache.avro.io.EncoderFactory
            dup
            invokespecial org.apache.avro.io.EncoderFactory.<init>:()V
            astore 2 /* efactory */
        start local 2 // org.apache.avro.io.EncoderFactory efactory
         3: .line 241
            aload 0 /* this */
            aload 2 /* efactory */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.out:Lorg/apache/avro/file/DataFileWriter$BufferedFileOutputStream;
            aconst_null
            invokevirtual org.apache.avro.io.EncoderFactory.binaryEncoder:(Ljava/io/OutputStream;Lorg/apache/avro/io/BinaryEncoder;)Lorg/apache/avro/io/BinaryEncoder;
            putfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
         4: .line 242
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.dout:Lorg/apache/avro/io/DatumWriter;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.schema:Lorg/apache/avro/Schema;
            invokeinterface org.apache.avro.io.DatumWriter.setSchema:(Lorg/apache/avro/Schema;)V
         5: .line 243
            aload 0 /* this */
            new org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream
            dup
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.syncInterval:I
            i2d
            ldc 1.25
            dmul
            d2i
            ldc 1073741822
            invokestatic java.lang.Math.min:(II)I
            invokespecial org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.<init>:(I)V
            putfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
         6: .line 244
            aload 0 /* this */
            aload 2 /* efactory */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            aconst_null
            invokevirtual org.apache.avro.io.EncoderFactory.binaryEncoder:(Ljava/io/OutputStream;Lorg/apache/avro/io/BinaryEncoder;)Lorg/apache/avro/io/BinaryEncoder;
            putfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
         7: .line 245
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
            ifnonnull 9
         8: .line 246
            aload 0 /* this */
            invokestatic org.apache.avro.file.CodecFactory.nullCodec:()Lorg/apache/avro/file/CodecFactory;
            invokevirtual org.apache.avro.file.CodecFactory.createInstance:()Lorg/apache/avro/file/Codec;
            putfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
         9: .line 248
      StackMap locals: org.apache.avro.io.EncoderFactory
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.avro.file.DataFileWriter.isOpen:Z
        10: .line 249
            return
        end local 2 // org.apache.avro.io.EncoderFactory efactory
        end local 1 // java.io.OutputStream outs
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   11     1      outs  Ljava/io/OutputStream;
            3   11     2  efactory  Lorg/apache/avro/io/EncoderFactory;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      outs  

  private static byte[] generateSync();
    descriptor: ()[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 253
            ldc "MD5"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 0 /* digester */
        start local 0 // java.security.MessageDigest digester
         1: .line 254
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         2: .line 255
            aload 0 /* digester */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* time */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual java.security.MessageDigest.update:([B)V
         3: .line 256
            aload 0 /* digester */
            invokevirtual java.security.MessageDigest.digest:()[B
         4: areturn
        end local 1 // long time
        end local 0 // java.security.MessageDigest digester
         5: .line 257
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 0 /* e */
        start local 0 // java.security.NoSuchAlgorithmException e
         6: .line 258
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.security.NoSuchAlgorithmException e
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    5     0  digester  Ljava/security/MessageDigest;
            2    5     1      time  J
            6    7     0         e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.security.NoSuchAlgorithmException

  private org.apache.avro.file.DataFileWriter<D> setMetaInternal(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.String key
        start local 2 // byte[] value
         0: .line 263
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertNotOpen:()V
         1: .line 264
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.meta:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 265
            aload 0 /* this */
            areturn
        end local 2 // byte[] value
        end local 1 // java.lang.String key
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    3     1    key  Ljava/lang/String;
            0    3     2  value  [B
    Signature: (Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  private org.apache.avro.file.DataFileWriter<D> setMetaInternal(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 269
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual org.apache.avro.file.DataFileWriter.setMetaInternal:(Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    1     1    key  Ljava/lang/String;
            0    1     2  value  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.apache.avro.file.DataFileWriter<D> setMeta(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.String key
        start local 2 // byte[] value
         0: .line 274
            aload 1 /* key */
            invokestatic org.apache.avro.file.DataFileWriter.isReservedMeta:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 275
            new org.apache.avro.AvroRuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot set reserved meta key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.apache.avro.file.DataFileWriter.setMetaInternal:(Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter;
            areturn
        end local 2 // byte[] value
        end local 1 // java.lang.String key
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    3     1    key  Ljava/lang/String;
            0    3     2  value  [B
    Signature: (Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public static boolean isReservedMeta(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 281
            aload 0 /* key */
            ldc "avro."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public org.apache.avro.file.DataFileWriter<D> setMeta(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 286
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual org.apache.avro.file.DataFileWriter.setMeta:(Ljava/lang/String;[B)Lorg/apache/avro/file/DataFileWriter;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    1     1    key  Ljava/lang/String;
            0    1     2  value  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.apache.avro.file.DataFileWriter<D> setMeta(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)Lorg/apache/avro/file/DataFileWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.String key
        start local 2 // long value
         0: .line 291
            aload 0 /* this */
            aload 1 /* key */
            lload 2 /* value */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual org.apache.avro.file.DataFileWriter.setMeta:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/avro/file/DataFileWriter;
            areturn
        end local 2 // long value
        end local 1 // java.lang.String key
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    1     1    key  Ljava/lang/String;
            0    1     2  value  J
    Signature: (Ljava/lang/String;J)Lorg/apache/avro/file/DataFileWriter<TD;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void append();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.lang.Object datum
         0: .line 311
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertOpen:()V
         1: .line 312
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.bufferInUse:()I
            istore 2 /* usedBuffer */
        start local 2 // int usedBuffer
         2: .line 314
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.dout:Lorg/apache/avro/io/DatumWriter;
            aload 1 /* datum */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
            invokeinterface org.apache.avro.io.DatumWriter.write:(Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
         3: .line 315
            goto 7
      StackMap locals: org.apache.avro.file.DataFileWriter java.lang.Object int
      StackMap stack: java.lang.Exception
         4: astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 316
            aload 0 /* this */
            iload 2 /* usedBuffer */
            invokevirtual org.apache.avro.file.DataFileWriter.resetBufferTo:(I)V
         6: .line 317
            new org.apache.avro.file.DataFileWriter$AppendWriteException
            dup
            aload 3 /* e */
            invokespecial org.apache.avro.file.DataFileWriter$AppendWriteException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception e
         7: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.avro.file.DataFileWriter.blockCount:J
            lconst_1
            ladd
            putfield org.apache.avro.file.DataFileWriter.blockCount:J
         8: .line 320
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.writeIfBlockFull:()V
         9: .line 321
            return
        end local 2 // int usedBuffer
        end local 1 // java.lang.Object datum
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   10     1       datum  TD;
            2   10     2  usedBuffer  I
            5    7     3           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
           2     3       4  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException
    Signature: (TD;)V
    MethodParameters:
       Name  Flags
      datum  

  private void resetBufferTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // int size
         0: .line 327
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.flush:()V
         1: .line 328
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.toByteArray:()[B
            astore 2 /* data */
        start local 2 // byte[] data
         2: .line 329
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.reset:()V
         3: .line 330
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            aload 2 /* data */
            iconst_0
            iload 1 /* size */
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.write:([BII)V
         4: .line 331
            return
        end local 2 // byte[] data
        end local 1 // int size
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    5     1  size  I
            2    5     2  data  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      size  

  public void appendEncoded(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // java.nio.ByteBuffer datum
         0: .line 339
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertOpen:()V
         1: .line 340
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
            aload 1 /* datum */
            invokevirtual org.apache.avro.io.BinaryEncoder.writeFixed:(Ljava/nio/ByteBuffer;)V
         2: .line 341
            aload 0 /* this */
            dup
            getfield org.apache.avro.file.DataFileWriter.blockCount:J
            lconst_1
            ladd
            putfield org.apache.avro.file.DataFileWriter.blockCount:J
         3: .line 342
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.writeIfBlockFull:()V
         4: .line 343
            return
        end local 1 // java.nio.ByteBuffer datum
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0    5     1  datum  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      datum  

  private int bufferInUse();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 346
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.size:()I
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.bytesBuffered:()I
            iadd
            ireturn
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;

  private void writeIfBlockFull();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 350
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.bufferInUse:()I
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.syncInterval:I
            if_icmplt 2
         1: .line 351
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.writeBlock:()V
         2: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
    Exceptions:
      throws java.io.IOException

  public void appendAllFrom(org.apache.avro.file.DataFileStream<D>, );
    descriptor: (Lorg/apache/avro/file/DataFileStream;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.avro.file.DataFileWriter this
        start local 1 // org.apache.avro.file.DataFileStream otherFile
        start local 2 // boolean recompress
         0: .line 374
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertOpen:()V
         1: .line 376
            aload 1 /* otherFile */
            invokevirtual org.apache.avro.file.DataFileStream.getSchema:()Lorg/apache/avro/Schema;
            astore 3 /* otherSchema */
        start local 3 // org.apache.avro.Schema otherSchema
         2: .line 377
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.schema:Lorg/apache/avro/Schema;
            aload 3 /* otherSchema */
            invokevirtual org.apache.avro.Schema.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 378
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Schema from file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* otherFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not match"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 381
      StackMap locals: org.apache.avro.Schema
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.writeBlock:()V
         5: .line 382
            aload 1 /* otherFile */
            invokevirtual org.apache.avro.file.DataFileStream.resolveCodec:()Lorg/apache/avro/file/Codec;
            astore 4 /* otherCodec */
        start local 4 // org.apache.avro.file.Codec otherCodec
         6: .line 383
            aconst_null
            astore 5 /* nextBlockRaw */
        start local 5 // org.apache.avro.file.DataFileStream$DataBlock nextBlockRaw
         7: .line 384
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
            aload 4 /* otherCodec */
            invokevirtual org.apache.avro.file.Codec.equals:(Ljava/lang/Object;)Z
            ifeq 17
            iload 2 /* recompress */
            ifne 17
         8: .line 386
            goto 11
         9: .line 387
      StackMap locals: org.apache.avro.file.Codec org.apache.avro.file.DataFileStream$DataBlock
      StackMap stack:
            aload 1 /* otherFile */
            aload 5 /* nextBlockRaw */
            invokevirtual org.apache.avro.file.DataFileStream.nextRawBlock:(Lorg/apache/avro/file/DataFileStream$DataBlock;)Lorg/apache/avro/file/DataFileStream$DataBlock;
            astore 5 /* nextBlockRaw */
        10: .line 388
            aload 5 /* nextBlockRaw */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.sync:[B
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.writeBlockTo:(Lorg/apache/avro/io/BinaryEncoder;[B)V
        11: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* otherFile */
            invokevirtual org.apache.avro.file.DataFileStream.hasNextBlock:()Z
            ifne 9
        12: .line 390
            goto 18
        13: .line 392
      StackMap locals:
      StackMap stack:
            aload 1 /* otherFile */
            aload 5 /* nextBlockRaw */
            invokevirtual org.apache.avro.file.DataFileStream.nextRawBlock:(Lorg/apache/avro/file/DataFileStream$DataBlock;)Lorg/apache/avro/file/DataFileStream$DataBlock;
            astore 5 /* nextBlockRaw */
        14: .line 393
            aload 5 /* nextBlockRaw */
            aload 4 /* otherCodec */
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.decompressUsing:(Lorg/apache/avro/file/Codec;)V
        15: .line 394
            aload 5 /* nextBlockRaw */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.compressUsing:(Lorg/apache/avro/file/Codec;)V
        16: .line 395
            aload 5 /* nextBlockRaw */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.sync:[B
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.writeBlockTo:(Lorg/apache/avro/io/BinaryEncoder;[B)V
        17: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* otherFile */
            invokevirtual org.apache.avro.file.DataFileStream.hasNextBlock:()Z
            ifne 13
        18: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.avro.file.DataFileStream$DataBlock nextBlockRaw
        end local 4 // org.apache.avro.file.Codec otherCodec
        end local 3 // org.apache.avro.Schema otherSchema
        end local 2 // boolean recompress
        end local 1 // org.apache.avro.file.DataFileStream otherFile
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            0   19     1     otherFile  Lorg/apache/avro/file/DataFileStream<TD;>;
            0   19     2    recompress  Z
            2   19     3   otherSchema  Lorg/apache/avro/Schema;
            6   19     4    otherCodec  Lorg/apache/avro/file/Codec;
            7   19     5  nextBlockRaw  Lorg/apache/avro/file/DataFileStream$DataBlock;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/avro/file/DataFileStream<TD;>;Z)V
    MethodParameters:
            Name  Flags
      otherFile   
      recompress  

  private void writeBlock();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 401
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.blockCount:J
            lconst_0
            lcmp
            ifle 14
         1: .line 403
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.bufOut:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.flush:()V
         2: .line 404
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.getByteArrayAsByteBuffer:()Ljava/nio/ByteBuffer;
            astore 1 /* uncompressed */
        start local 1 // java.nio.ByteBuffer uncompressed
         3: .line 405
            new org.apache.avro.file.DataFileStream$DataBlock
            dup
            aload 1 /* uncompressed */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.blockCount:J
            invokespecial org.apache.avro.file.DataFileStream$DataBlock.<init>:(Ljava/nio/ByteBuffer;J)V
            astore 2 /* block */
        start local 2 // org.apache.avro.file.DataFileStream$DataBlock block
         4: .line 406
            aload 2 /* block */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.flushOnEveryBlock:Z
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.setFlushOnWrite:(Z)V
         5: .line 407
            aload 2 /* block */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.codec:Lorg/apache/avro/file/Codec;
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.compressUsing:(Lorg/apache/avro/file/Codec;)V
         6: .line 408
            aload 2 /* block */
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.sync:[B
            invokevirtual org.apache.avro.file.DataFileStream$DataBlock.writeBlockTo:(Lorg/apache/avro/io/BinaryEncoder;[B)V
        end local 2 // org.apache.avro.file.DataFileStream$DataBlock block
        end local 1 // java.nio.ByteBuffer uncompressed
         7: .line 409
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
         9: .line 410
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.reset:()V
        10: .line 411
            aload 0 /* this */
            lconst_0
            putfield org.apache.avro.file.DataFileWriter.blockCount:J
        11: .line 412
            aload 3
            athrow
        12: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.buffer:Lorg/apache/avro/file/DataFileWriter$NonCopyingByteArrayOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream.reset:()V
        13: .line 411
            aload 0 /* this */
            lconst_0
            putfield org.apache.avro.file.DataFileWriter.blockCount:J
        14: .line 414
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/apache/avro/file/DataFileWriter<TD;>;
            3    7     1  uncompressed  Ljava/nio/ByteBuffer;
            4    7     2         block  Lorg/apache/avro/file/DataFileStream$DataBlock;
      Exception table:
        from    to  target  type
           1     8       8  any
    Exceptions:
      throws java.io.IOException

  public long sync();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 427
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.assertOpen:()V
         1: .line 428
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.writeBlock:()V
         2: .line 429
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.out:Lorg/apache/avro/file/DataFileWriter$BufferedFileOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$BufferedFileOutputStream.tell:()J
            lreturn
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
    Exceptions:
      throws java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 437
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.sync:()J
            pop2
         1: .line 438
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.vout:Lorg/apache/avro/io/BinaryEncoder;
            invokevirtual org.apache.avro.io.BinaryEncoder.flush:()V
         2: .line 439
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
    Exceptions:
      throws java.io.IOException

  public void fSync();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 450
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.flush:()V
         1: .line 451
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.underlyingStream:Ljava/io/OutputStream;
            instanceof org.apache.avro.file.Syncable
            ifeq 3
         2: .line 452
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.underlyingStream:Ljava/io/OutputStream;
            checkcast org.apache.avro.file.Syncable
            invokeinterface org.apache.avro.file.Syncable.sync:()V
         3: .line 454
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.DataFileWriter this
         0: .line 459
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.isOpen:Z
            ifeq 4
         1: .line 460
            aload 0 /* this */
            invokevirtual org.apache.avro.file.DataFileWriter.flush:()V
         2: .line 461
            aload 0 /* this */
            getfield org.apache.avro.file.DataFileWriter.out:Lorg/apache/avro/file/DataFileWriter$BufferedFileOutputStream;
            invokevirtual org.apache.avro.file.DataFileWriter$BufferedFileOutputStream.close:()V
         3: .line 462
            aload 0 /* this */
            iconst_0
            putfield org.apache.avro.file.DataFileWriter.isOpen:Z
         4: .line 464
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.avro.file.DataFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/avro/file/DataFileWriter<TD;>;
    Exceptions:
      throws java.io.IOException
}
Signature: <D:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Closeable;Ljava/io/Flushable;
SourceFile: "DataFileWriter.java"
NestMembers:
  org.apache.avro.file.DataFileWriter$AppendWriteException  org.apache.avro.file.DataFileWriter$BufferedFileOutputStream  org.apache.avro.file.DataFileWriter$BufferedFileOutputStream$PositionFilter  org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  DataBlock = org.apache.avro.file.DataFileStream$DataBlock of org.apache.avro.file.DataFileStream
  public final Header = org.apache.avro.file.DataFileStream$Header of org.apache.avro.file.DataFileStream
  public AppendWriteException = org.apache.avro.file.DataFileWriter$AppendWriteException of org.apache.avro.file.DataFileWriter
  private BufferedFileOutputStream = org.apache.avro.file.DataFileWriter$BufferedFileOutputStream of org.apache.avro.file.DataFileWriter
  private NonCopyingByteArrayOutputStream = org.apache.avro.file.DataFileWriter$NonCopyingByteArrayOutputStream of org.apache.avro.file.DataFileWriter