Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDcalcCoverage.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDcalcCoverage.java	(revision 118)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDcalcCoverage.java	(revision 119)
@@ -32,5 +32,5 @@
 		
 		IStochasticProcess process = null; 
-		List<List<? extends Event<?>>> sequences = null;
+		Collection<List<? extends Event<?>>> sequences = null;
 		Object dataObjectProcess = GlobalDataContainer.getInstance().getData(modelname);
 		if( dataObjectProcess==null ) {
@@ -58,5 +58,5 @@
 				
 				process = (IStochasticProcess) dataObjectProcess;
-				sequences = (List<List<? extends Event<?>>>) dataObjectSequences;
+				sequences = (Collection<List<? extends Event<?>>>) dataObjectSequences;
 				Console.print(sequenceName);
 				for( int length=minLength ; length<=maxLength ; length++) {
Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateRandomSequences.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateRandomSequences.java	(revision 118)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateRandomSequences.java	(revision 119)
@@ -2,6 +2,8 @@
 
 import java.security.InvalidParameterException;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Set;
 
 import de.ugoe.cs.eventbench.data.GlobalDataContainer;
@@ -18,8 +20,13 @@
 		String sequencesName;
 		int numSessions;
+		long maxIter;
 		try {
 			modelname = (String) parameters.get(0);
 			sequencesName = (String) parameters.get(1);
 			numSessions = Integer.parseInt((String) parameters.get(2));
+			maxIter = numSessions*10;
+			if( parameters.size()==4 ) {
+				maxIter = Long.parseLong((String) parameters.get(3));
+			}
 		}
 		catch (Exception e) {
@@ -36,7 +43,12 @@
 		} else {
 			model = (IStochasticProcess) dataObject;
-			List<List<? extends Event<?>>> sequences = new LinkedList<List<? extends Event<?>>>();
-			for( int i=0 ; i<numSessions ; i++ ) {
+			Set<List<? extends Event<?>>> sequences = new HashSet<List<? extends Event<?>>>(numSessions);
+			long numIterations = 0;
+			while( sequences.size()<numSessions && numIterations<maxIter ) {
 				sequences.add(model.randomSequence());
+				numIterations++;
+			}
+			if( sequences.size() < numSessions ) {
+				Console.println("Only " + sequences.size() + " unique sessions generated after " + maxIter + " iterations");
 			}
 			if( GlobalDataContainer.getInstance().addData(sequencesName, sequences) ) {
@@ -48,5 +60,5 @@
 	@Override
 	public void help() {
-		Console.println("Usage: generateRandomSequenecs <modelName> <sequencesName> <numSessions>");
+		Console.println("Usage: generateRandomSequenecs <modelName> <sequencesName> <numSessions> {<maxIter>}");
 	}
 
