public void intersect(Set s) {
		ListNode thisNode = list.front();
		ListNode anotherNode = s.list.front();
		while (thisNode.isValidNode() && anotherNode.isValidNode()) {
			try {
				Comparable thisItem = (Comparable) thisNode.item();
				Comparable anotherItem = (Comparable) anotherNode.item();
				if (thisItem.compareTo(anotherItem) == 0) {
					thisNode = thisNode.next();
					anotherNode = anotherNode.next();
					continue;
				}
				if (thisItem.compareTo(anotherItem) < 0) {
					ListNode temp = thisNode.next();
					thisNode.remove();
					thisNode = temp;
					continue;
				}
				if (thisItem.compareTo(anotherItem) > 0) {
					anotherNode = anotherNode.next();
				}
			} catch (InvalidNodeException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		while (thisNode.isValidNode()) {
			try {
				ListNode temp = thisNode.next();
				thisNode.remove();
				thisNode = temp;
			} catch (InvalidNodeException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
  }