Collection<V> () { List<V> values = new ArrayList<>(); for (ValueReference<K, V> valueReference : myMap.values()) { V v = valueReference == null ? null : valueReference.get(); if (v != null) { values.add(v); } } return values; }