test_class.file: rxjava/src/test/java/io/reactivex/internal/operators/maybe/MaybeCacheTest.java
test_class.identifier: MaybeCacheTest
test_case.body: @Test
      public void onlineComplete() {
          PublishProcessor<Integer> pp = PublishProcessor.create();
  
          Maybe<Integer> source = pp.singleElement().cache();
  
          assertFalse(pp.hasSubscribers());
  
          assertNotNull(((MaybeCache<Integer>)source).source.get());
  
          TestObserver<Integer> to = source.test();
  
          assertNull(((MaybeCache<Integer>)source).source.get());
  
          assertTrue(pp.hasSubscribers());
  
          source.test(true).assertEmpty();
  
          to.assertEmpty();
  
          pp.onComplete();
  
          to.assertResult();
  
          source.test().assertResult();
  
          source.test(true).assertEmpty();
      }
test_case.class_method_signature: MaybeCacheTest.onlineComplete()
test_case.full_signature: @Test public void onlineComplete()
test_case.identifier: onlineComplete
test_case.invocations: create cache singleElement assertFalse hasSubscribers assertNotNull get test assertNull get assertTrue hasSubscribers assertEmpty test assertEmpty onComplete assertResult assertResult test assertEmpty test
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void onlineComplete()
focal_class.declarator: EMPTY = new CacheDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final CacheDisposable[] EMPTY = new CacheDisposable[0];
focal_class.type: CacheDisposable[]
focal_class.var_name: EMPTY
focal_class.declarator: TERMINATED = new CacheDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final CacheDisposable[] TERMINATED = new CacheDisposable[0];
focal_class.type: CacheDisposable[]
focal_class.var_name: TERMINATED
focal_class.declarator: source
focal_class.modifier: final
focal_class.original_string: final AtomicReference<MaybeSource<T>> source;
focal_class.type: AtomicReference<MaybeSource<T>>
focal_class.var_name: source
focal_class.declarator: observers
focal_class.modifier: final
focal_class.original_string: final AtomicReference<CacheDisposable<T>[]> observers;
focal_class.type: AtomicReference<CacheDisposable<T>[]>
focal_class.var_name: observers
focal_class.declarator: value
focal_class.original_string: T value;
focal_class.type: T
focal_class.var_name: value
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/internal/operators/maybe/MaybeCache.java
focal_class.identifier: MaybeCache
focal_class.interfaces: implements MaybeObserver<T>
focal_class.class_method_signature: MaybeCache.MaybeCache(MaybeSource<T> source)
focal_class.full_signature: @SuppressWarnings("unchecked") public  MaybeCache(MaybeSource<T> source)
focal_class.identifier: MaybeCache
focal_class.modifiers: @SuppressWarnings("unchecked") public
focal_class.parameters: (MaybeSource<T> source)
focal_class.signature:  MaybeCache(MaybeSource<T> source)
focal_class.class_method_signature: MaybeCache.subscribeActual(MaybeObserver<? super T> observer)
focal_class.full_signature: @Override protected void subscribeActual(MaybeObserver<? super T> observer)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override protected
focal_class.parameters: (MaybeObserver<? super T> observer)
focal_class.return: void
focal_class.signature: void subscribeActual(MaybeObserver<? super T> observer)
focal_class.class_method_signature: MaybeCache.onSubscribe(Disposable d)
focal_class.full_signature: @Override public void onSubscribe(Disposable d)
focal_class.identifier: onSubscribe
focal_class.modifiers: @Override public
focal_class.parameters: (Disposable d)
focal_class.return: void
focal_class.signature: void onSubscribe(Disposable d)
focal_class.class_method_signature: MaybeCache.onSuccess(T value)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public void onSuccess(T value)
focal_class.identifier: onSuccess
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (T value)
focal_class.return: void
focal_class.signature: void onSuccess(T value)
focal_class.class_method_signature: MaybeCache.onError(Throwable e)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public void onError(Throwable e)
focal_class.identifier: onError
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (Throwable e)
focal_class.return: void
focal_class.signature: void onError(Throwable e)
focal_class.class_method_signature: MaybeCache.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: MaybeCache.add(CacheDisposable<T> inner)
focal_class.full_signature:  boolean add(CacheDisposable<T> inner)
focal_class.identifier: add
focal_class.parameters: (CacheDisposable<T> inner)
focal_class.return: boolean
focal_class.signature: boolean add(CacheDisposable<T> inner)
focal_class.class_method_signature: MaybeCache.remove(CacheDisposable<T> inner)
focal_class.full_signature: @SuppressWarnings("unchecked") void remove(CacheDisposable<T> inner)
focal_class.identifier: remove
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (CacheDisposable<T> inner)
focal_class.return: void
focal_class.signature: void remove(CacheDisposable<T> inner)
focal_class.superclass: extends Maybe<T>
focal_method.body: @SuppressWarnings("unchecked")
      @Override
      public void onComplete() {
          for (CacheDisposable<T> inner : observers.getAndSet(TERMINATED)) {
              if (!inner.isDisposed()) {
                  inner.actual.onComplete();
              }
          }
      }
focal_method.class_method_signature: MaybeCache.onComplete()
focal_method.full_signature: @SuppressWarnings("unchecked") @Override public void onComplete()
focal_method.identifier: onComplete
focal_method.invocations: getAndSet isDisposed onComplete
focal_method.modifiers: @SuppressWarnings("unchecked") @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void onComplete()