public abstract class io.reactivex.subjects.Subject<T> extends io.reactivex.Observable<T> implements io.reactivex.Observer<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.reactivex.subjects.Subject
  super_class: io.reactivex.Observable
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.Subject this
         0: .line 29
            aload 0 /* this */
            invokespecial io.reactivex.Observable.<init>:()V
            return
        end local 0 // io.reactivex.subjects.Subject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/subjects/Subject<TT;>;

  public abstract boolean hasObservers();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean hasThrowable();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean hasComplete();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Throwable getThrowable();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      io.reactivex.annotations.Nullable()

  public final io.reactivex.subjects.Subject<T> toSerialized();
    descriptor: ()Lio/reactivex/subjects/Subject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.reactivex.subjects.Subject this
         0: .line 72
            aload 0 /* this */
            instanceof io.reactivex.subjects.SerializedSubject
            ifeq 2
         1: .line 73
            aload 0 /* this */
            areturn
         2: .line 75
      StackMap locals:
      StackMap stack:
            new io.reactivex.subjects.SerializedSubject
            dup
            aload 0 /* this */
            invokespecial io.reactivex.subjects.SerializedSubject.<init>:(Lio/reactivex/subjects/Subject;)V
            areturn
        end local 0 // io.reactivex.subjects.Subject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/reactivex/subjects/Subject<TT;>;
    Signature: ()Lio/reactivex/subjects/Subject<TT;>;
    RuntimeInvisibleAnnotations: 
      io.reactivex.annotations.NonNull()
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/Observable<TT;>;Lio/reactivex/Observer<TT;>;
SourceFile: "Subject.java"