Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateHybrid.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateHybrid.java	(revision 407)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateHybrid.java	(revision 408)
@@ -111,9 +111,17 @@
 					sequence = finishSequence(seqTmp, model, length + 2,
 							validEnd);
+					if( sequence!= null && sequence.size()!=length+2 ) {
+						sequence = null;
+					}
 				} else {
 					sequence = finishSequence(seqTmp, model, length + 1,
 							validEnd);
+					if( sequence!= null && sequence.size()!=length+1 ) {
+						sequence = null;
+					}
 				}
-				sequences.add(sequence);
+				if( sequence!=null ) {
+					sequences.add(sequence);
+				}
 			}
 		}
@@ -130,6 +138,8 @@
 		boolean endFound = false;
 		List<Event<?>> sequenceCopy = new LinkedList<Event<?>>(sequence);
-
-		while (!endFound) {
+		final int maxIter = 30000;
+		int iter = 0;
+		while (!endFound && iter<maxIter) {
+			iter++;
 			sequenceCopy = new LinkedList<Event<?>>(sequence);
 			while (!endFound && sequenceCopy.size() <= maxLength) {
@@ -139,5 +149,5 @@
 					probSum += model.getProbability(sequenceCopy, symbol);
 					if (probSum >= randVal) {
-						if (!(Event.STARTEVENT.equals(symbol) || Event.ENDEVENT.equals(symbol))) {
+						if (!(Event.STARTEVENT.equals(symbol) || (!validEnd && Event.ENDEVENT.equals(symbol)))) {
 							// only add the symbol the sequence if it is not
 							// START
@@ -152,4 +162,7 @@
 			}
 		}
+		if( iter==maxIter ) {
+			return null;
+		}
 		return sequenceCopy;
 	}
@@ -162,5 +175,5 @@
 	@Override
 	public void help() {
-		Console.println("Usage: generateFixedLengthSequences <modelname> <sequencesName> <lenght> <maxlengthAll> <numSequences> {<validEnd>}");
+		Console.println("Usage: generateHybrid <modelname> <sequencesName> <lenght> <maxlengthAll> <numSequences> {<validEnd>}");
 	}
 
