mvvmfx/src/main/java/de/saxsys/mvvmfx/internal/WeakValueHashMap.java
@Override
	public Collection values() {
		// delegates to entrySet, because super method returns
		// WeakValues instead of value objects
		if (values == null) {
			values = new AbstractCollection() {
				@Override
				public Iterator iterator() {
					return new Iterator() {
						private final Iterator i = entrySet().iterator();
						
						@Override
						public boolean hasNext() {
							return i.hasNext();
						}
						
						@Override
						public Object next() {
							return ((Entry) i.next()).getValue();
						}
						
						@Override
						public void remove() {
							i.remove();
						}
					};
				}
				
				@Override
				public int size() {
					return WeakValueHashMap.this.size();
				}
				
				@Override
				public boolean contains(Object v) {
					return WeakValueHashMap.this.containsValue(v);
				}
			};
		}
		return values;
	}
@Override
	public Collection values() {
		// delegates to entrySet, because super method returns
		// WeakValues instead of value objects
		if (values == null) {
			values = new AbstractCollection() {
				@Override
				public Iterator iterator() {
					return new Iterator() {
						private final Iterator i = entrySet().iterator();
						
						@Override
						public boolean hasNext() {
							return i.hasNext();
						}
						
						@Override
						public Object next() {
							return ((Entry) i.next()).getValue();
						}
						
						@Override
						public void remove() {
							i.remove();
						}
					};
				}
				
				@Override
				public int size() {
					return WeakValueHashMap.this.size();
				}
				
				@Override
				public boolean contains(Object v) {
					return WeakValueHashMap.this.containsValue(v);
				}
			};
		}
		return values;
	}
Returns a <code>Collection</code> view of the values contained in this map.
<p>

@return a <code>Collection</code> view of the values contained in this map.