public List<T> getValues() { List<T> list = new ArrayList<>(); Collection<Cache<K, T>> col = _cache.values(); for (Cache<K, T> o : col) { Collection<T> col2 = o.values(); for (T o2 : col2) { if (!list.contains(o2)) { list.add(o2); } } } return list; }