test_class.declarator: testException = new Throwable()
test_class.modifier: private final
test_class.original_string: private final Throwable testException = new Throwable();
test_class.type: Throwable
test_class.var_name: testException
test_class.file: rxjava/src/test/java/io/reactivex/subjects/PublishSubjectTest.java
test_class.identifier: PublishSubjectTest
test_class.superclass: extends SubjectTest<Integer>
test_case.body: @Test
      public void addRemoveRance() throws Exception {
  
          for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) {
              final PublishSubject<Integer> ps = PublishSubject.create();
  
              final TestObserver<Integer> to = ps.test();
  
              Runnable r1 = new Runnable() {
                  @Override
                  public void run() {
                      ps.subscribe();
                  }
              };
              Runnable r2 = new Runnable() {
                  @Override
                  public void run() {
                      to.cancel();
                  }
              };
  
              TestHelper.race(r1, r2);
          }
      }
test_case.class_method_signature: PublishSubjectTest.addRemoveRance()
test_case.full_signature: @Test public void addRemoveRance()
test_case.identifier: addRemoveRance
test_case.invocations: create test subscribe cancel race
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void addRemoveRance()
focal_class.declarator: TERMINATED = new PublishDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final PublishDisposable[] TERMINATED = new PublishDisposable[0];
focal_class.type: PublishDisposable[]
focal_class.var_name: TERMINATED
focal_class.declarator: EMPTY = new PublishDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final PublishDisposable[] EMPTY = new PublishDisposable[0];
focal_class.type: PublishDisposable[]
focal_class.var_name: EMPTY
focal_class.declarator: subscribers
focal_class.modifier: final
focal_class.original_string: final AtomicReference<PublishDisposable<T>[]> subscribers;
focal_class.type: AtomicReference<PublishDisposable<T>[]>
focal_class.var_name: subscribers
focal_class.declarator: error
focal_class.original_string: Throwable error;
focal_class.type: Throwable
focal_class.var_name: error
focal_class.file: rxjava/src/main/java/io/reactivex/subjects/PublishSubject.java
focal_class.identifier: PublishSubject
focal_class.class_method_signature: PublishSubject.create()
focal_class.full_signature: @CheckReturnValue @NonNull public static PublishSubject<T> create()
focal_class.identifier: create
focal_class.modifiers: @CheckReturnValue @NonNull public static
focal_class.parameters: ()
focal_class.return: PublishSubject<T>
focal_class.signature: PublishSubject<T> create()
focal_class.class_method_signature: PublishSubject.PublishSubject()
focal_class.full_signature: @SuppressWarnings("unchecked")  PublishSubject()
focal_class.identifier: PublishSubject
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: ()
focal_class.signature:  PublishSubject()
focal_class.class_method_signature: PublishSubject.subscribeActual(Observer<? super T> t)
focal_class.full_signature: @Override public void subscribeActual(Observer<? super T> t)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override public
focal_class.parameters: (Observer<? super T> t)
focal_class.return: void
focal_class.signature: void subscribeActual(Observer<? super T> t)
focal_class.class_method_signature: PublishSubject.add(PublishDisposable<T> ps)
focal_class.full_signature:  boolean add(PublishDisposable<T> ps)
focal_class.identifier: add
focal_class.parameters: (PublishDisposable<T> ps)
focal_class.return: boolean
focal_class.signature: boolean add(PublishDisposable<T> ps)
focal_class.class_method_signature: PublishSubject.remove(PublishDisposable<T> ps)
focal_class.full_signature: @SuppressWarnings("unchecked") void remove(PublishDisposable<T> ps)
focal_class.identifier: remove
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (PublishDisposable<T> ps)
focal_class.return: void
focal_class.signature: void remove(PublishDisposable<T> ps)
focal_class.class_method_signature: PublishSubject.onSubscribe(Disposable s)
focal_class.full_signature: @Override public void onSubscribe(Disposable s)
focal_class.identifier: onSubscribe
focal_class.modifiers: @Override public
focal_class.parameters: (Disposable s)
focal_class.return: void
focal_class.signature: void onSubscribe(Disposable s)
focal_class.class_method_signature: PublishSubject.onNext(T t)
focal_class.full_signature: @Override public void onNext(T t)
focal_class.identifier: onNext
focal_class.modifiers: @Override public
focal_class.parameters: (T t)
focal_class.return: void
focal_class.signature: void onNext(T t)
focal_class.class_method_signature: PublishSubject.onError(Throwable t)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public void onError(Throwable t)
focal_class.identifier: onError
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (Throwable t)
focal_class.return: void
focal_class.signature: void onError(Throwable t)
focal_class.class_method_signature: PublishSubject.onComplete()
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public void onComplete()
focal_class.identifier: onComplete
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onComplete()
focal_class.class_method_signature: PublishSubject.hasObservers()
focal_class.full_signature: @Override public boolean hasObservers()
focal_class.identifier: hasObservers
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasObservers()
focal_class.class_method_signature: PublishSubject.getThrowable()
focal_class.full_signature: @Override @Nullable public Throwable getThrowable()
focal_class.identifier: getThrowable
focal_class.modifiers: @Override @Nullable public
focal_class.parameters: ()
focal_class.return: Throwable
focal_class.signature: Throwable getThrowable()
focal_class.class_method_signature: PublishSubject.hasThrowable()
focal_class.full_signature: @Override public boolean hasThrowable()
focal_class.identifier: hasThrowable
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasThrowable()
focal_class.class_method_signature: PublishSubject.hasComplete()
focal_class.full_signature: @Override public boolean hasComplete()
focal_class.identifier: hasComplete
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasComplete()
focal_class.superclass: extends Subject<T>
focal_method.body: @CheckReturnValue
      @NonNull
      public static <T> PublishSubject<T> create() {
          return new PublishSubject<T>();
      }
focal_method.class_method_signature: PublishSubject.create()
focal_method.full_signature: @CheckReturnValue @NonNull public static PublishSubject<T> create()
focal_method.identifier: create
focal_method.modifiers: @CheckReturnValue @NonNull public static
focal_method.parameters: ()
focal_method.return: PublishSubject<T>
focal_method.signature: PublishSubject<T> create()