boolean removeValueIf(Predicate<? super V> function) {
      if (function == null) throw new NullPointerException();
      Node<V>[] t;
      boolean removed = false;
      if ((t = table) != null) {
          Traverser<V> it = new Traverser<V>(t, t.length, 0, t.length);
          for (Node<V> p; (p = it.advance()) != null; ) {
              long k = p.key;
              V v = p.val;
            if (function.test(v) && replaceNode(k, null, v) != null) {
              removed = true;
            }
          }
      }
      return removed;
  }
boolean removeValueIf(Predicate<? super V> function)