code: public List<E> getCondensedList() {
          return new AbstractList<E>() {
  
              @SuppressWarnings("unchecked")
              @Override
              public E get(int arg0) {
                  stateLock.readLock().lock();
                  try {
                      return (E) elements[effectiveIndex[arg0]];
                  } finally {
                      stateLock.readLock().unlock();
                  }
              }
  
              @Override
              public int size() {
                  return currentSize();
              }
  
          };
      }
docs: Get a list of only those elements that have already been set.
  <p>
  <em>N.B. this method is thread-safe but does not guarantee a consistent view of the list contents in the face of concurrent updates.</em>
  
  @return a dynamically updated list showing only the currently available elements