public class org.apache.commons.lang3.SerializationUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang3.SerializationUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.SerializationUtils this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            return
        end local 0 // org.apache.commons.lang3.SerializationUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang3/SerializationUtils;

  public static <T extends java.io.Serializable> T clone();
    descriptor: (Ljava/io/Serializable;)Ljava/io/Serializable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.io.Serializable object
         0: .line 78
            aload 0 /* object */
            ifnonnull 2
         1: .line 79
            aconst_null
            areturn
         2: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* object */
            invokestatic org.apache.commons.lang3.SerializationUtils.serialize:(Ljava/io/Serializable;)[B
            astore 1 /* objectData */
        start local 1 // byte[] objectData
         3: .line 82
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* objectData */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 2 /* bais */
        start local 2 // java.io.ByteArrayInputStream bais
         4: .line 84
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: new org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream
            dup
            aload 2 /* bais */
         6: .line 85
            aload 0 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         7: .line 84
            invokespecial org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
            astore 5 /* in */
        start local 5 // org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream in
         8: .line 92
            aload 5 /* in */
            invokevirtual org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 6 /* readObject */
        start local 6 // java.io.Serializable readObject
         9: .line 93
            aload 6 /* readObject */
        10: .line 95
            aload 5 /* in */
            ifnull 11
            aload 5 /* in */
            invokevirtual org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream.close:()V
        11: .line 93
      StackMap locals: java.io.Serializable byte[] java.io.ByteArrayInputStream java.lang.Throwable java.lang.Throwable org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream java.io.Serializable
      StackMap stack: java.io.Serializable
            areturn
        end local 6 // java.io.Serializable readObject
      StackMap locals: java.io.Serializable byte[] java.io.ByteArrayInputStream java.lang.Throwable java.lang.Throwable org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream
      StackMap stack: java.lang.Throwable
        12: astore 3
        13: .line 95
            aload 5 /* in */
            ifnull 14
            aload 5 /* in */
            invokevirtual org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream.close:()V
        end local 5 // org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream in
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
      StackMap locals: java.io.Serializable byte[] java.io.ByteArrayInputStream
      StackMap stack: java.lang.ClassNotFoundException
        18: astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
        19: .line 96
            new org.apache.commons.lang3.SerializationException
            dup
            ldc "ClassNotFoundException while reading cloned object data"
            aload 3 /* ex */
            invokespecial org.apache.commons.lang3.SerializationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ClassNotFoundException ex
        20: .line 97
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ex */
        start local 3 // java.io.IOException ex
        21: .line 98
            new org.apache.commons.lang3.SerializationException
            dup
            ldc "IOException while reading or closing cloned object data"
            aload 3 /* ex */
            invokespecial org.apache.commons.lang3.SerializationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException ex
        end local 2 // java.io.ByteArrayInputStream bais
        end local 1 // byte[] objectData
        end local 0 // java.io.Serializable object
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0      object  TT;
            3   22     1  objectData  [B
            4   22     2        bais  Ljava/io/ByteArrayInputStream;
            8   14     5          in  Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream;
            9   12     6  readObject  TT;
           19   20     3          ex  Ljava/lang/ClassNotFoundException;
           21   22     3          ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    10      12  any
           5    11      15  any
          12    15      15  any
           4    11      18  Class java.lang.ClassNotFoundException
          12    18      18  Class java.lang.ClassNotFoundException
           4    11      20  Class java.io.IOException
          12    18      20  Class java.io.IOException
    Signature: <T::Ljava/io/Serializable;>(TT;)TT;
    MethodParameters:
        Name  Flags
      object  final

  public static <T extends java.io.Serializable> T roundtrip();
    descriptor: (Ljava/io/Serializable;)Ljava/io/Serializable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.Serializable msg
         0: .line 115
            aload 0 /* msg */
            invokestatic org.apache.commons.lang3.SerializationUtils.serialize:(Ljava/io/Serializable;)[B
            invokestatic org.apache.commons.lang3.SerializationUtils.deserialize:([B)Ljava/lang/Object;
            checkcast java.io.Serializable
            areturn
        end local 0 // java.io.Serializable msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   msg  TT;
    Signature: <T::Ljava/io/Serializable;>(TT;)TT;
    MethodParameters:
      Name  Flags
      msg   final

  public static void serialize(java.io.Serializable, java.io.OutputStream);
    descriptor: (Ljava/io/Serializable;Ljava/io/OutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.Serializable obj
        start local 1 // java.io.OutputStream outputStream
         0: .line 136
            aload 1 /* outputStream */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "The OutputStream must not be null"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         3: .line 137
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: new java.io.ObjectOutputStream
            dup
            aload 1 /* outputStream */
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* out */
        start local 4 // java.io.ObjectOutputStream out
         5: .line 138
            aload 4 /* out */
            aload 0 /* obj */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         6: .line 139
            aload 4 /* out */
            ifnull 14
            aload 4 /* out */
            invokevirtual java.io.ObjectOutputStream.close:()V
            goto 14
      StackMap locals: java.io.Serializable java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.ObjectOutputStream
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* out */
            ifnull 8
            aload 4 /* out */
            invokevirtual java.io.ObjectOutputStream.close:()V
        end local 4 // java.io.ObjectOutputStream out
      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
      StackMap locals: java.io.Serializable java.io.OutputStream
      StackMap stack: java.io.IOException
        12: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        13: .line 140
            new org.apache.commons.lang3.SerializationException
            dup
            aload 2 /* ex */
            invokespecial org.apache.commons.lang3.SerializationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ex
        14: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream outputStream
        end local 0 // java.io.Serializable obj
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0           obj  Ljava/io/Serializable;
            0   15     1  outputStream  Ljava/io/OutputStream;
            5    8     4           out  Ljava/io/ObjectOutputStream;
           13   14     2            ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
           3    12      12  Class java.io.IOException
    MethodParameters:
              Name  Flags
      obj           final
      outputStream  final

  public static byte[] serialize(java.io.Serializable);
    descriptor: (Ljava/io/Serializable;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.Serializable obj
         0: .line 153
            new java.io.ByteArrayOutputStream
            dup
            sipush 512
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 154
            aload 0 /* obj */
            aload 1 /* baos */
            invokestatic org.apache.commons.lang3.SerializationUtils.serialize:(Ljava/io/Serializable;Ljava/io/OutputStream;)V
         2: .line 155
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // java.io.Serializable obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/io/Serializable;
            1    3     1  baos  Ljava/io/ByteArrayOutputStream;
    MethodParameters:
      Name  Flags
      obj   final

  public static <T> T deserialize(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.io.InputStream inputStream
         0: .line 191
            aload 0 /* inputStream */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "The InputStream must not be null"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         3: .line 192
            aconst_null
            astore 1
            aconst_null
            astore 2
         4: new java.io.ObjectInputStream
            dup
            aload 0 /* inputStream */
            invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* in */
        start local 3 // java.io.ObjectInputStream in
         5: .line 194
            aload 3 /* in */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
         6: .line 195
            aload 4 /* obj */
         7: .line 196
            aload 3 /* in */
            ifnull 8
            aload 3 /* in */
            invokevirtual java.io.ObjectInputStream.close:()V
         8: .line 195
      StackMap locals: java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.ObjectInputStream java.lang.Object
      StackMap stack: java.lang.Object
            areturn
        end local 4 // java.lang.Object obj
      StackMap locals: java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.ObjectInputStream
      StackMap stack: java.lang.Throwable
         9: astore 1
        10: .line 196
            aload 3 /* in */
            ifnull 11
            aload 3 /* in */
            invokevirtual java.io.ObjectInputStream.close:()V
        end local 3 // java.io.ObjectInputStream in
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 1
            ifnonnull 13
            aload 2
            astore 1
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1
            aload 2
            if_acmpeq 14
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 1
            athrow
      StackMap locals: java.io.InputStream
      StackMap stack: java.lang.Exception
        15: astore 1 /* ex */
        start local 1 // java.lang.Exception ex
        16: .line 197
            new org.apache.commons.lang3.SerializationException
            dup
            aload 1 /* ex */
            invokespecial org.apache.commons.lang3.SerializationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception ex
        end local 0 // java.io.InputStream inputStream
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0  inputStream  Ljava/io/InputStream;
            5   11     3           in  Ljava/io/ObjectInputStream;
            6    9     4          obj  TT;
           16   17     1           ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       9  any
           4     8      12  any
           9    12      12  any
           3     8      15  Class java.lang.ClassNotFoundException
           9    15      15  Class java.lang.ClassNotFoundException
           3     8      15  Class java.io.IOException
           9    15      15  Class java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/io/InputStream;)TT;
    MethodParameters:
             Name  Flags
      inputStream  final

  public static <T> T deserialize();
    descriptor: ([B)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] objectData
         0: .line 222
            aload 0 /* objectData */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "The byte[] must not be null"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         3: .line 223
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* objectData */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokestatic org.apache.commons.lang3.SerializationUtils.deserialize:(Ljava/io/InputStream;)Ljava/lang/Object;
            areturn
        end local 0 // byte[] objectData
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  objectData  [B
    Signature: <T:Ljava/lang/Object;>([B)TT;
    MethodParameters:
            Name  Flags
      objectData  final
}
SourceFile: "SerializationUtils.java"
NestMembers:
  org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream
InnerClasses:
  ClassLoaderAwareObjectInputStream = org.apache.commons.lang3.SerializationUtils$ClassLoaderAwareObjectInputStream of org.apache.commons.lang3.SerializationUtils