@Override public boolean containsValue(Object value){
  poll();
  if (value != null) {
    for (int i=elementData.length; --i >= 0; ) {
      Entry<K,V> entry=elementData[i];
      while (entry != null) {
        K key=entry.get();
        if ((key != null || entry.isNull) && value.equals(entry.value)) {
          return true;
        }
        entry=entry.next;
      }
    }
  }
 else {
    for (int i=elementData.length; --i >= 0; ) {
      Entry<K,V> entry=elementData[i];
      while (entry != null) {
        K key=entry.get();
        if ((key != null || entry.isNull) && entry.value == null) {
          return true;
        }
        entry=entry.next;
      }
    }
  }
  return false;
}

@ Override public boolean containsValue ( Object value ) { poll ( ) ; if ( value != null ) { for ( int i = elementData . length ; -- i >= 0 ; ) { Entry < K , V > entry = elementData [ i ] ; while ( entry != null ) { K key = entry . get ( ) ; if ( ( key != null || entry . isNull ) && value . equals ( entry . value ) ) { return true ; } entry = entry . next ; } } } else { for ( int i = elementData . length ; -- i >= 0 ; ) { Entry < K , V > entry = elementData [ i ] ; while ( entry != null ) { K key = entry . get ( ) ; if ( ( key != null || entry . isNull ) && entry . value == null ) { return true ; } entry = entry . next ; } } } return false ; }
returns whether this map contains the specified value .
