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/processors/PublishProcessorTest.java
test_class.identifier: PublishProcessorTest
test_class.superclass: extends FlowableProcessorTest<Object>
test_case.body: @Test
      public void addRemoveRance() throws Exception {
  
          for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) {
              final PublishProcessor<Integer> pp = PublishProcessor.create();
  
              final TestSubscriber<Integer> ts = pp.test();
  
              Runnable r1 = new Runnable() {
                  @Override
                  public void run() {
                      pp.subscribe();
                  }
              };
              Runnable r2 = new Runnable() {
                  @Override
                  public void run() {
                      ts.cancel();
                  }
              };
  
              TestHelper.race(r1, r2);
          }
      }
test_case.class_method_signature: PublishProcessorTest.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 PublishSubscription[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final PublishSubscription[] TERMINATED = new PublishSubscription[0];
focal_class.type: PublishSubscription[]
focal_class.var_name: TERMINATED
focal_class.declarator: EMPTY = new PublishSubscription[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final PublishSubscription[] EMPTY = new PublishSubscription[0];
focal_class.type: PublishSubscription[]
focal_class.var_name: EMPTY
focal_class.declarator: subscribers
focal_class.modifier: final
focal_class.original_string: final AtomicReference<PublishSubscription<T>[]> subscribers;
focal_class.type: AtomicReference<PublishSubscription<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/processors/PublishProcessor.java
focal_class.identifier: PublishProcessor
focal_class.class_method_signature: PublishProcessor.create()
focal_class.full_signature: @CheckReturnValue @NonNull public static PublishProcessor<T> create()
focal_class.identifier: create
focal_class.modifiers: @CheckReturnValue @NonNull public static
focal_class.parameters: ()
focal_class.return: PublishProcessor<T>
focal_class.signature: PublishProcessor<T> create()
focal_class.class_method_signature: PublishProcessor.PublishProcessor()
focal_class.full_signature: @SuppressWarnings("unchecked")  PublishProcessor()
focal_class.identifier: PublishProcessor
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: ()
focal_class.signature:  PublishProcessor()
focal_class.class_method_signature: PublishProcessor.subscribeActual(Subscriber<? super T> t)
focal_class.full_signature: @Override public void subscribeActual(Subscriber<? super T> t)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override public
focal_class.parameters: (Subscriber<? super T> t)
focal_class.return: void
focal_class.signature: void subscribeActual(Subscriber<? super T> t)
focal_class.class_method_signature: PublishProcessor.add(PublishSubscription<T> ps)
focal_class.full_signature:  boolean add(PublishSubscription<T> ps)
focal_class.identifier: add
focal_class.parameters: (PublishSubscription<T> ps)
focal_class.return: boolean
focal_class.signature: boolean add(PublishSubscription<T> ps)
focal_class.class_method_signature: PublishProcessor.remove(PublishSubscription<T> ps)
focal_class.full_signature: @SuppressWarnings("unchecked") void remove(PublishSubscription<T> ps)
focal_class.identifier: remove
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (PublishSubscription<T> ps)
focal_class.return: void
focal_class.signature: void remove(PublishSubscription<T> ps)
focal_class.class_method_signature: PublishProcessor.onSubscribe(Subscription s)
focal_class.full_signature: @Override public void onSubscribe(Subscription s)
focal_class.identifier: onSubscribe
focal_class.modifiers: @Override public
focal_class.parameters: (Subscription s)
focal_class.return: void
focal_class.signature: void onSubscribe(Subscription s)
focal_class.class_method_signature: PublishProcessor.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: PublishProcessor.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: PublishProcessor.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: PublishProcessor.offer(T t)
focal_class.full_signature: @Experimental public boolean offer(T t)
focal_class.identifier: offer
focal_class.modifiers: @Experimental public
focal_class.parameters: (T t)
focal_class.return: boolean
focal_class.signature: boolean offer(T t)
focal_class.class_method_signature: PublishProcessor.hasSubscribers()
focal_class.full_signature: @Override public boolean hasSubscribers()
focal_class.identifier: hasSubscribers
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasSubscribers()
focal_class.class_method_signature: PublishProcessor.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: PublishProcessor.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: PublishProcessor.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 FlowableProcessor<T>
focal_method.body: @CheckReturnValue
      @NonNull
      public static <T> PublishProcessor<T> create() {
          return new PublishProcessor<T>();
      }
focal_method.class_method_signature: PublishProcessor.create()
focal_method.full_signature: @CheckReturnValue @NonNull public static PublishProcessor<T> create()
focal_method.identifier: create
focal_method.modifiers: @CheckReturnValue @NonNull public static
focal_method.parameters: ()
focal_method.return: PublishProcessor<T>
focal_method.signature: PublishProcessor<T> create()