@Override public ListenableCollection<V> values() { return ListenableCollections.unmodifiableCollection(listenableMap.values()); } @Override
public ListenableCollection<V> values() { if (values == null) { valuesSupport = new ListenableSupport<V>(); values = ListenableCollections.unmodifiableCollection(new DefaultListenableCollection<V>(map.values(), valuesSupport)); } return values; }