test_class.file: rxjava/src/test/java/io/reactivex/processors/SerializedProcessorTest.java
test_class.identifier: SerializedProcessorTest
test_case.body: @Test
      public void onNextOnNextRace() {
          for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) {
              final FlowableProcessor<Integer> s = PublishProcessor.<Integer>create().toSerialized();
  
              TestSubscriber<Integer> ts = s.test();
  
              Runnable r1 = new Runnable() {
                  @Override
                  public void run() {
                      s.onNext(1);
                  }
              };
  
              Runnable r2 = new Runnable() {
                  @Override
                  public void run() {
                      s.onNext(2);
                  }
              };
  
              TestHelper.race(r1, r2);
  
              ts.assertSubscribed().assertNoErrors().assertNotComplete()
              .assertValueSet(Arrays.asList(1, 2));
          }
      }
test_case.class_method_signature: SerializedProcessorTest.onNextOnNextRace()
test_case.full_signature: @Test public void onNextOnNextRace()
test_case.identifier: onNextOnNextRace
test_case.invocations: toSerialized create test onNext onNext race assertValueSet assertNotComplete assertNoErrors assertSubscribed asList
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void onNextOnNextRace()
focal_class.declarator: actual
focal_class.modifier: final
focal_class.original_string: final FlowableProcessor<T> actual;
focal_class.type: FlowableProcessor<T>
focal_class.var_name: actual
focal_class.declarator: emitting
focal_class.original_string: boolean emitting;
focal_class.type: boolean
focal_class.var_name: emitting
focal_class.declarator: queue
focal_class.original_string: AppendOnlyLinkedArrayList<Object> queue;
focal_class.type: AppendOnlyLinkedArrayList<Object>
focal_class.var_name: queue
focal_class.declarator: done
focal_class.modifier: volatile
focal_class.original_string: volatile boolean done;
focal_class.type: boolean
focal_class.var_name: done
focal_class.file: rxjava/src/main/java/io/reactivex/processors/SerializedProcessor.java
focal_class.identifier: SerializedProcessor
focal_class.class_method_signature: SerializedProcessor.SerializedProcessor(final FlowableProcessor<T> actual)
focal_class.full_signature:   SerializedProcessor(final FlowableProcessor<T> actual)
focal_class.identifier: SerializedProcessor
focal_class.parameters: (final FlowableProcessor<T> actual)
focal_class.signature:  SerializedProcessor(final FlowableProcessor<T> actual)
focal_class.class_method_signature: SerializedProcessor.subscribeActual(Subscriber<? super T> s)
focal_class.full_signature: @Override protected void subscribeActual(Subscriber<? super T> s)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override protected
focal_class.parameters: (Subscriber<? super T> s)
focal_class.return: void
focal_class.signature: void subscribeActual(Subscriber<? super T> s)
focal_class.class_method_signature: SerializedProcessor.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: SerializedProcessor.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: SerializedProcessor.onError(Throwable t)
focal_class.full_signature: @Override public void onError(Throwable t)
focal_class.identifier: onError
focal_class.modifiers: @Override public
focal_class.parameters: (Throwable t)
focal_class.return: void
focal_class.signature: void onError(Throwable t)
focal_class.class_method_signature: SerializedProcessor.onComplete()
focal_class.full_signature: @Override public void onComplete()
focal_class.identifier: onComplete
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onComplete()
focal_class.class_method_signature: SerializedProcessor.emitLoop()
focal_class.full_signature:  void emitLoop()
focal_class.identifier: emitLoop
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void emitLoop()
focal_class.class_method_signature: SerializedProcessor.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: SerializedProcessor.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: SerializedProcessor.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: SerializedProcessor.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: @Override
      public void onNext(T t) {
          if (done) {
              return;
          }
          synchronized (this) {
              if (done) {
                  return;
              }
              if (emitting) {
                  AppendOnlyLinkedArrayList<Object> q = queue;
                  if (q == null) {
                      q = new AppendOnlyLinkedArrayList<Object>(4);
                      queue = q;
                  }
                  q.add(NotificationLite.next(t));
                  return;
              }
              emitting = true;
          }
          actual.onNext(t);
          emitLoop();
      }
focal_method.class_method_signature: SerializedProcessor.onNext(T t)
focal_method.full_signature: @Override public void onNext(T t)
focal_method.identifier: onNext
focal_method.invocations: add next onNext emitLoop
focal_method.modifiers: @Override public
focal_method.parameters: (T t)
focal_method.return: void
focal_method.signature: void onNext(T t)