@Override
	public boolean retainAll(Collection<?> values) {
		boolean returnVal = false;
		for(E val: this)
		{
			//if the value is not in the retain list
			if(values.contains(val) == false)
			{
				remove(val);
				returnVal = true;
			}
		}
		return returnVal;
	}