public class org.ehcache.impl.serialization.PlainJavaSerializer<T> implements org.ehcache.spi.serialization.Serializer<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.ehcache.impl.serialization.PlainJavaSerializer
  super_class: java.lang.Object
{
  private final java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* classLoader */
            putfield org.ehcache.impl.serialization.PlainJavaSerializer.classLoader:Ljava/lang/ClassLoader;
         2: .line 43
            return
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/ehcache/impl/serialization/PlainJavaSerializer<TT;>;
            0    3     1  classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  public java.nio.ByteBuffer serialize(T);
    descriptor: (Ljava/lang/Object;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
        start local 1 // java.lang.Object object
         0: .line 47
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* bout */
        start local 2 // java.io.ByteArrayOutputStream bout
         1: .line 48
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: new java.io.ObjectOutputStream
            dup
            aload 2 /* bout */
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* oout */
        start local 5 // java.io.ObjectOutputStream oout
         3: .line 49
            aload 5 /* oout */
            aload 1 /* object */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         4: .line 50
            aload 5 /* oout */
            ifnull 12
            aload 5 /* oout */
            invokevirtual java.io.ObjectOutputStream.close:()V
            goto 12
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.lang.Object java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.ObjectOutputStream
      StackMap stack: java.lang.Throwable
         5: astore 3
            aload 5 /* oout */
            ifnull 6
            aload 5 /* oout */
            invokevirtual java.io.ObjectOutputStream.close:()V
        end local 5 // java.io.ObjectOutputStream oout
      StackMap locals:
      StackMap stack:
         6: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 3
            ifnonnull 8
            aload 4
            astore 3
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 3
            aload 4
            if_acmpeq 9
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 3
            athrow
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.lang.Object java.io.ByteArrayOutputStream
      StackMap stack: java.io.IOException
        10: astore 3 /* e */
        start local 3 // java.io.IOException e
        11: .line 51
            new org.ehcache.spi.serialization.SerializerException
            dup
            aload 3 /* e */
            invokespecial org.ehcache.spi.serialization.SerializerException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        12: .line 53
      StackMap locals:
      StackMap stack:
            aload 2 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // java.io.ByteArrayOutputStream bout
        end local 1 // java.lang.Object object
        end local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/ehcache/impl/serialization/PlainJavaSerializer<TT;>;
            0   13     1  object  TT;
            1   13     2    bout  Ljava/io/ByteArrayOutputStream;
            3    6     5    oout  Ljava/io/ObjectOutputStream;
           11   12     3       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
           1    10      10  Class java.io.IOException
    Signature: (TT;)Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      object  

  public T read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
        start local 1 // java.nio.ByteBuffer entry
         0: .line 59
            new org.ehcache.core.util.ByteBufferInputStream
            dup
            aload 1 /* entry */
            invokespecial org.ehcache.core.util.ByteBufferInputStream.<init>:(Ljava/nio/ByteBuffer;)V
            astore 2 /* bin */
        start local 2 // org.ehcache.core.util.ByteBufferInputStream bin
         1: .line 61
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: new org.ehcache.impl.serialization.PlainJavaSerializer$OIS
            dup
            aload 2 /* bin */
            aload 0 /* this */
            getfield org.ehcache.impl.serialization.PlainJavaSerializer.classLoader:Ljava/lang/ClassLoader;
            invokespecial org.ehcache.impl.serialization.PlainJavaSerializer$OIS.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
            astore 5 /* ois */
        start local 5 // org.ehcache.impl.serialization.PlainJavaSerializer$OIS ois
         3: .line 62
            aload 5 /* ois */
            invokevirtual org.ehcache.impl.serialization.PlainJavaSerializer$OIS.readObject:()Ljava/lang/Object;
            astore 7
         4: .line 63
            aload 5 /* ois */
            ifnull 5
            aload 5 /* ois */
            invokevirtual org.ehcache.impl.serialization.PlainJavaSerializer$OIS.close:()V
         5: .line 68
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.nio.ByteBuffer org.ehcache.core.util.ByteBufferInputStream java.lang.Throwable java.lang.Throwable org.ehcache.impl.serialization.PlainJavaSerializer$OIS top java.lang.Object
      StackMap stack:
            aload 2 /* bin */
            invokevirtual org.ehcache.core.util.ByteBufferInputStream.close:()V
         6: .line 69
            goto 9
      StackMap locals:
      StackMap stack: java.io.IOException
         7: astore 8 /* e */
        start local 8 // java.io.IOException e
         8: .line 70
            new java.lang.AssertionError
            dup
            aload 8 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 8 // java.io.IOException e
         9: .line 62
      StackMap locals:
      StackMap stack:
            aload 7
            areturn
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.nio.ByteBuffer org.ehcache.core.util.ByteBufferInputStream java.lang.Throwable java.lang.Throwable org.ehcache.impl.serialization.PlainJavaSerializer$OIS
      StackMap stack: java.lang.Throwable
        10: astore 3
        11: .line 63
            aload 5 /* ois */
            ifnull 12
            aload 5 /* ois */
            invokevirtual org.ehcache.impl.serialization.PlainJavaSerializer$OIS.close:()V
        end local 5 // org.ehcache.impl.serialization.PlainJavaSerializer$OIS ois
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 64
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.nio.ByteBuffer org.ehcache.core.util.ByteBufferInputStream
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        17: .line 65
            new org.ehcache.spi.serialization.SerializerException
            dup
            aload 3 /* e */
            invokespecial org.ehcache.spi.serialization.SerializerException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        18: .line 66
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        19: .line 68
            aload 2 /* bin */
            invokevirtual org.ehcache.core.util.ByteBufferInputStream.close:()V
        20: .line 69
            goto 23
      StackMap locals: org.ehcache.impl.serialization.PlainJavaSerializer java.nio.ByteBuffer org.ehcache.core.util.ByteBufferInputStream top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        21: astore 8 /* e */
        start local 8 // java.io.IOException e
        22: .line 70
            new java.lang.AssertionError
            dup
            aload 8 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 8 // java.io.IOException e
        23: .line 72
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        end local 2 // org.ehcache.core.util.ByteBufferInputStream bin
        end local 1 // java.nio.ByteBuffer entry
        end local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   this  Lorg/ehcache/impl/serialization/PlainJavaSerializer<TT;>;
            0   24     1  entry  Ljava/nio/ByteBuffer;
            1   24     2    bin  Lorg/ehcache/core/util/ByteBufferInputStream;
            3   12     5    ois  Lorg/ehcache/impl/serialization/PlainJavaSerializer$OIS;
           17   18     3      e  Ljava/io/IOException;
            8    9     8      e  Ljava/io/IOException;
           22   23     8      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
           3     4      10  any
           2     5      13  any
          10    13      13  any
           1     5      16  Class java.io.IOException
          10    16      16  Class java.io.IOException
           1     5      18  any
          10    18      18  any
          19    20      21  Class java.io.IOException
    Exceptions:
      throws org.ehcache.spi.serialization.SerializerException, java.lang.ClassNotFoundException
    Signature: (Ljava/nio/ByteBuffer;)TT;
    MethodParameters:
       Name  Flags
      entry  

  public boolean equals(T, java.nio.ByteBuffer);
    descriptor: (Ljava/lang/Object;Ljava/nio/ByteBuffer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
        start local 1 // java.lang.Object object
        start local 2 // java.nio.ByteBuffer binary
         0: .line 77
            aload 1 /* object */
            aload 0 /* this */
            aload 2 /* binary */
            invokevirtual org.ehcache.impl.serialization.PlainJavaSerializer.read:(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.nio.ByteBuffer binary
        end local 1 // java.lang.Object object
        end local 0 // org.ehcache.impl.serialization.PlainJavaSerializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/ehcache/impl/serialization/PlainJavaSerializer<TT;>;
            0    1     1  object  TT;
            0    1     2  binary  Ljava/nio/ByteBuffer;
    Exceptions:
      throws org.ehcache.spi.serialization.SerializerException, java.lang.ClassNotFoundException
    Signature: (TT;Ljava/nio/ByteBuffer;)Z
    MethodParameters:
        Name  Flags
      object  
      binary  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/ehcache/spi/serialization/Serializer<TT;>;
SourceFile: "PlainJavaSerializer.java"
NestMembers:
  org.ehcache.impl.serialization.PlainJavaSerializer$OIS
InnerClasses:
  private OIS = org.ehcache.impl.serialization.PlainJavaSerializer$OIS of org.ehcache.impl.serialization.PlainJavaSerializer