Collection<V> () { Collection<V> result = new ArrayList<>(); Collection<ValueReference<K, V>> refs = myMap.values(); for (ValueReference<K, V> ref : refs) { V value = ref.get(); if (value != null) { result.add(value); } } return result; }