@Override public void next(T value) { if (!terminated) { list.addLast(enterTransform.call(nl.next(value))); evictionPolicy.evict(list); tail = list.tail; } } @Override
@Override public void error(Throwable e) { if (!terminated) { terminated = true; // don't evict the terminal value evictionPolicy.evict(list); // so add it later list.addLast(enterTransform.call(nl.error(e))); tail = list.tail; } } public void accept(Observer<? super T> o, NodeList.Node<Object> node) {
@Override public void complete() { if (!terminated) { terminated = true; // don't evict the terminal value evictionPolicy.evict(list); // so add it later list.addLast(enterTransform.call(nl.completed())); tail = list.tail; } } @Override