@Override
	public boolean retainAll(Collection<?> c) 
	{
		boolean retained = false;
		for (int i = 0; i < capacity; i++) {
			synchronized (table[i]) {
				Node<E> p = table[i], n = p.next;
				while (n != null) {
					if (!c.contains(n.element)) {
						p.next = n.next;
						retained = true;
					}
					else {
						p = n;
					}
					n = n.next;
				}
			}
		}
		return retained;
	}