Index: /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorObserved.java
===================================================================
--- /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorObserved.java	(revision 330)
+++ /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorObserved.java	(revision 331)
@@ -72,4 +72,7 @@
 	 *            length of the subsequences for which the coverage is analyzed;
 	 *            must be >0
+	 * @throws InvalidParameterException
+	 *             thrown if observedSequences or sequences is null or length
+	 *             less than or equal to 0
 	 */
 	public CoverageCalculatorObserved(
@@ -77,5 +80,6 @@
 			Collection<List<? extends Event<?>>> sequences, int length) {
 		if (observedSequences == null) {
-			throw new InvalidParameterException("process must not be null");
+			throw new InvalidParameterException(
+					"observed sequences must not be null");
 		}
 		if (sequences == null) {
@@ -162,6 +166,11 @@
 	 *            subsequences are possible
 	 * @return coverage percentage
+	 * @throws InvalidParameterException
+	 *             thrown if process is null
 	 */
 	public double getCoveragePossibleNew(IStochasticProcess process) {
+		if (process == null) {
+			throw new InvalidParameterException("process must not be null");
+		}
 		createSubSeqs();
 		Collection<List<? extends Event<?>>> subSeqsGeneratedCopy = new LinkedHashSet<List<? extends Event<?>>>(
@@ -187,6 +196,11 @@
 	 *            which subsequences are possible
 	 * @return coverage percentage
+	 * @throws InvalidParameterException
+	 *             thrown if process is null
 	 */
 	public double getCoveragePossibleNewWeight(IStochasticProcess process) {
+		if (process == null) {
+			throw new InvalidParameterException("process must not be null");
+		}
 		createSubSeqs();
 		Collection<List<? extends Event<?>>> subSeqsGeneratedCopy = new LinkedHashSet<List<? extends Event<?>>>(
@@ -200,14 +214,17 @@
 		double weight = 0.0d;
 		for (List<? extends Event<?>> subSeq : subSeqsGeneratedCopy) {
-			weight += weightMap.get(subSeq);
+			Double currentWeight = weightMap.get(subSeq);
+			if( currentWeight!=null ) {
+				weight += currentWeight;
+			}
 		}
 		return weight;
 	}
-	
+
 	/**
 	 * <p>
 	 * Returns the number of covered subsequences of length k.
 	 * </p>
-	 *  
+	 * 
 	 * @return number of covered subsequences
 	 */
@@ -216,9 +233,10 @@
 		return subSeqsObserved.size();
 	}
-	
+
 	/**
 	 * <p>
 	 * Returns the number of covered subsequences of length k.
 	 * </p>
+	 * 
 	 * @return number of covered subsequences
 	 */
@@ -227,5 +245,5 @@
 		return subSeqsGenerated.size();
 	}
-	
+
 	public int getNumNew() {
 		createSubSeqs();
@@ -235,5 +253,4 @@
 		return subSeqsGeneratedCopy.size();
 	}
-	
 
 	/**
Index: /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorProcess.java
===================================================================
--- /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorProcess.java	(revision 330)
+++ /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/coverage/CoverageCalculatorProcess.java	(revision 331)
@@ -81,4 +81,6 @@
 	 *            length of the subsequences for which the coverage is analyzed;
 	 *            must be >0
+	 * @throws InvalidParameterException
+	 *             thrown if process or sequences is null or length less than or equal to 0
 	 */
 	public CoverageCalculatorProcess(IStochasticProcess process,
@@ -200,6 +202,11 @@
 	 * @param newSequences
 	 *            new collection of sequences
+	 * @throws InvalidParameterException
+	 *             thrown is newSequences is null
 	 */
 	public void setSequences(Collection<List<? extends Event<?>>> newSequences) {
+		if (newSequences == null) {
+			throw new InvalidParameterException("sequences must not be null");
+		}
 		this.sequences = newSequences;
 		containedSubSeqs = null;
