Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculator.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculator.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculator.java	(revision 102)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench.coverage;
 
+import java.util.Collection;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -14,13 +15,13 @@
 	
 	private final IStochasticProcess process;
-	private final List<List<? extends Event<?>>> sequences;
+	private final Collection<List<? extends Event<?>>> sequences;
 	private final int length;
 	
-	private Set<List<? extends Event<?>>> containedSubSeqs = null;
-	private Set<List<? extends Event<?>>> allPossibleSubSeqs = null;
+	private Collection<List<? extends Event<?>>> containedSubSeqs = null;
+	private Collection<List<? extends Event<?>>> allPossibleSubSeqs = null;
 	private Map<List<? extends Event<?>>, Double> subSeqWeights = null;
 	
 	
-	public CoverageCalculator(IStochasticProcess process, List<List<? extends Event<?>>> sequences, int length) {
+	public CoverageCalculator(IStochasticProcess process, Collection<List<? extends Event<?>>> sequences, int length) {
 		this.process = process;
 		this.sequences = sequences;
@@ -63,5 +64,5 @@
 	}
 	
-	private Map<List<? extends Event<?>>, Double> generateWeights(IStochasticProcess process, Set<List<? extends Event<?>>> sequences) {
+	private Map<List<? extends Event<?>>, Double> generateWeights(IStochasticProcess process, Collection<List<? extends Event<?>>> sequences) {
 		Map<List<? extends Event<?>>, Double> subSeqWeights = new LinkedHashMap<List<? extends Event<?>>, Double>();
 		double sum = 0.0;
@@ -89,5 +90,5 @@
 	
 	// O(numSeq*lenSeq)	
-	private Set<List<? extends Event<?>>> containedSubSequences(List<List<? extends Event<?>>> sequences, int length) {
+	private Set<List<? extends Event<?>>> containedSubSequences(Collection<List<? extends Event<?>>> sequences, int length) {
 		Set<List<? extends Event<?>>> containedSubSeqs = new LinkedHashSet<List<? extends Event<?>>>();
 		List<Event<?>> subSeq = new LinkedList<Event<?>>();
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/DeterministicFiniteAutomaton.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/DeterministicFiniteAutomaton.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/DeterministicFiniteAutomaton.java	(revision 102)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench.models;
 
+import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
@@ -61,5 +62,5 @@
 		}
 
-		List<Event<?>> followers = trie.getFollowingSymbols(contextCopy);
+		Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy);
 
 		if (followers.size() != 0 && followers.contains(symbol)) {
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/FirstOrderMarkovModel.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/FirstOrderMarkovModel.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/FirstOrderMarkovModel.java	(revision 102)
@@ -2,4 +2,5 @@
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.Random;
@@ -167,5 +168,5 @@
 			List<Event<?>> context = new ArrayList<Event<?>>();
 			context.add(symbol);
-			List<Event<?>> followers = trie.getFollowingSymbols(context);
+			Collection<Event<?>> followers = trie.getFollowingSymbols(context);
 			for (Event<?> follower : followers) {
 				stringBuilder.append(" " + symbol.hashCode() + " -> "
@@ -199,5 +200,5 @@
 			context.add(symbol);
 
-			List<Event<?>> followers = trie.getFollowingSymbols(context);
+			Collection<Event<?>> followers = trie.getFollowingSymbols(context);
 
 			for (Event<?> follower : followers) {
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/HighOrderMarkovModel.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/HighOrderMarkovModel.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/HighOrderMarkovModel.java	(revision 102)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench.models;
 
+import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
@@ -49,5 +50,5 @@
 
 	
-		List<Event<?>> followers = trie.getFollowingSymbols(contextCopy);
+		Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy);
 		int sumCountFollowers = 0; // N(s\sigma')
 		for( Event<?> follower : followers ) {
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java	(revision 102)
@@ -2,6 +2,6 @@
 
 import java.io.Serializable;
+import java.util.Collection;
 import java.util.List;
-import java.util.Set;
 
 import de.ugoe.cs.eventbench.data.Event;
@@ -55,5 +55,5 @@
 	 * @see #generateSequences(int, boolean)
 	 */
-	public Set<List<? extends Event<?>>> generateSequences(int length);
+	public Collection<List<? extends Event<?>>> generateSequences(int length);
 
 	/**
@@ -73,5 +73,5 @@
 	 * @return generated sequences
 	 */
-	public Set<List<? extends Event<?>>> generateSequences(int length,
+	public Collection<List<? extends Event<?>>> generateSequences(int length,
 			boolean fromStart);
 
@@ -88,5 +88,5 @@
 	 * @return generated sequences
 	 */
-	public Set<List<? extends Event<?>>> generateValidSequences(int length);
+	public Collection<List<? extends Event<?>>> generateValidSequences(int length);
 
 	/**
@@ -117,5 +117,5 @@
 	 * @return events known by the process
 	 */
-	public Set<? extends Event<?>> getEvents();
+	public Collection<? extends Event<?>> getEvents();
 
 }
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/PredictionByPartialMatch.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/PredictionByPartialMatch.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/PredictionByPartialMatch.java	(revision 102)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench.models;
 
+import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
@@ -116,5 +117,5 @@
 		}
 
-		List<Event<?>> followers = trie.getFollowingSymbols(contextCopy); // \Sigma'
+		Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy); // \Sigma'
 		int sumCountFollowers = 0; // N(s\sigma')
 		for (Event<?> follower : followers) {
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java	(revision 102)
@@ -2,4 +2,5 @@
 
 import java.io.Serializable;
+import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
@@ -103,6 +104,6 @@
 	
 	// returns all symbols that follow the defined sequence
-	public List<T> getFollowingSymbols(List<T> sequence) {
-		List<T> result = new LinkedList<T>();
+	public Collection<T> getFollowingSymbols(List<T> sequence) {
+		Collection<T> result = new LinkedList<T>();
 		TrieNode<T> node = find(sequence);
 		if( node!=null ) {
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 102)
@@ -3,4 +3,5 @@
 import java.security.InvalidParameterException;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
@@ -84,5 +85,5 @@
 	 *            training data
 	 */
-	public void train(List<List<Event<?>>> sequences) {
+	public void train(Collection<List<Event<?>>> sequences) {
 		trie = new Trie<Event<?>>();
 
@@ -204,5 +205,5 @@
 	 */
 	@Override
-	public Set<? extends Event<?>> getEvents() {
+	public Collection<? extends Event<?>> getEvents() {
 		return trie.getKnownSymbols();
 	}
@@ -215,5 +216,5 @@
 	 */
 	@Override
-	public Set<List<? extends Event<?>>> generateSequences(int length) {
+	public Collection<List<? extends Event<?>>> generateSequences(int length) {
 		return generateSequences(length, false);
 	}
@@ -249,6 +250,6 @@
 			return sequenceSet;
 		}
-		Set<? extends Event<?>> events = getEvents();
-		Set<List<? extends Event<?>>> seqsShorter = generateSequences(
+		Collection<? extends Event<?>> events = getEvents();
+		Collection<List<? extends Event<?>>> seqsShorter = generateSequences(
 				length - 1, fromStart);
 		for (Event<?> event : events) {
@@ -273,9 +274,9 @@
 	 */
 	@Override
-	public Set<List<? extends Event<?>>> generateValidSequences(int length) {
+	public Collection<List<? extends Event<?>>> generateValidSequences(int length) {
 		// check for min-length implicitly done by generateSequences
-		Set<List<? extends Event<?>>> allSequences = generateSequences(length,
+		Collection<List<? extends Event<?>>> allSequences = generateSequences(length,
 				true);
-		Set<List<? extends Event<?>>> validSequences = new LinkedHashSet<List<? extends Event<?>>>();
+		Collection<List<? extends Event<?>>> validSequences = new LinkedHashSet<List<? extends Event<?>>>();
 		for (List<? extends Event<?>> sequence : allSequences) {
 			if (sequence.size() == length
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java	(revision 101)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java	(revision 102)
@@ -3,4 +3,5 @@
 import java.io.Serializable;
 import java.security.InvalidParameterException;
+import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
@@ -22,5 +23,5 @@
 	private final T symbol;
 	
-	private List<TrieNode<T>> children;
+	private Collection<TrieNode<T>> children;
 	
 	TrieNode() {
@@ -96,6 +97,6 @@
 	
 	// returns all symbols that follow this node
-	public List<T> getFollowingSymbols() {
-		List<T> followingSymbols = new LinkedList<T>();
+	public Collection<T> getFollowingSymbols() {
+		Collection<T> followingSymbols = new LinkedList<T>();
 		for( TrieNode<T> child : children ) {
 			followingSymbols.add(child.getSymbol());
