public boolean removeAll(Collection<?> c) {
          if (c == null) throw new NullPointerException();
          boolean modified = false;
          // Use (c instanceof Set) as a hint that lookup in c is as
          // efficient as this view
          Node<V>[] t;
          if ((t = map.table) == null) {
              return false;
          } else if (c instanceof Set<?> && c.size() > t.length) {
              for (Iterator<?> it = iterator(); it.hasNext(); ) {
                  if (c.contains(it.next())) {
                      it.remove();
                      modified = true;
                  }
              }
          } else {
            for (Object e : c) {
              modified |= remove(e);
            }
          }
          return modified;
      }
public boolean removeAll(Collection<?> c)