boolean add(PublishSubjectProducer<T> inner) {
            for (;;) {
                PublishSubjectProducer<T>[] curr = get();
                if (curr == TERMINATED) {
                    return false;