code: public List<T> values(final int state)
     {
        final List<T> list = sharedList.stream().filter(e -> e.getState() == state).collect(Collectors.toList());
        Collections.reverse(list);
        return list;
     }
docs: This method provides a "snapshot" in time of the BagEntry
  items in the bag in the specified state.  It does not "lock"
  or reserve items in any way.  Call <code>reserve(T)</code>
  on items in list before performing any action on them.
  
  @param state one of the {@link IConcurrentBagEntry} states
  @return a possibly empty list of objects having the state specified