Description: Modifies the ListSet class to compile at the Java 8 source/target level
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/src/org/lobobrowser/util/ListSet.java
+++ b/src/org/lobobrowser/util/ListSet.java
@@ -25,9 +25,9 @@
 
 import java.util.*;
 
-public class ListSet implements List, Set {
-	private final List list = new ArrayList();
-	private final Set set = new HashSet();
+public class ListSet<E> implements List<E>, Set<E> {
+	private final List<E> list = new ArrayList<>();
+	private final Set<E> set = new HashSet<>();
 	
 	public ListSet() {
 		super();
@@ -36,7 +36,7 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#add(int, E)
 	 */
-	public void add(int index, Object element) {
+	public void add(int index, E element) {
 		if(this.set.add(element)) {
 			list.add(index, element);
 		}
@@ -45,7 +45,7 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#add(E)
 	 */
-	public boolean add(Object o) {
+	public boolean add(E o) {
 		if(this.set.add(o)) {
 			return this.list.add(o);
 		}
@@ -57,11 +57,11 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#addAll(java.util.Collection)
 	 */
-	public boolean addAll(Collection c) {
+	public boolean addAll(Collection<? extends E> c) {
 		boolean changed = false;
-		Iterator i = c.iterator();
+		Iterator<? extends E> i = c.iterator();
 		while(i.hasNext()) {
-			Object element = i.next();
+			E element = i.next();
 			if(this.add(element)) {
 				changed = true;
 			}
@@ -72,12 +72,12 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#addAll(int, java.util.Collection)
 	 */
-	public boolean addAll(int index, Collection c) {
+	public boolean addAll(int index, Collection<? extends E> c) {
 		boolean changed = false;
 		int insertIndex = index;
-		Iterator i = c.iterator();
+		Iterator<? extends E> i = c.iterator();
 		while(i.hasNext()) {
-			Object element = i.next();
+			E element = i.next();
 			if(this.set.add(element)) {
 				this.list.add(insertIndex++, element);
 				changed = true;
@@ -111,7 +111,7 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#get(int)
 	 */
-	public Object get(int index) {
+	public E get(int index) {
 		return this.list.get(index);
 	}
 
@@ -160,8 +160,8 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#remove(int)
 	 */
-	public Object remove(int index) {
-		Object element = this.list.remove(index);
+	public E remove(int index) {
+		E element = this.list.remove(index);
 		if(element != null) {
 			this.set.remove(element);
 		}
@@ -210,7 +210,7 @@
 	/* (non-Javadoc)
 	 * @see java.util.List#set(int, E)
 	 */
-	public Object set(int index, Object element) {
+	public E set(int index, E element) {
 		this.set.add(element);
 		return this.list.set(index, element);
 	}
@@ -229,6 +229,10 @@
 		return this.list.subList(fromIndex, toIndex);
 	}
 
+	public Spliterator<E> spliterator() {
+		return this.list.spliterator();
+	}
+
 	/* (non-Javadoc)
 	 * @see java.util.List#toArray()
 	 */
