Index: /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java
===================================================================
--- /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 181)
+++ /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 182)
@@ -48,5 +48,5 @@
 	 * </p>
 	 */
-	protected Trie<Event<?>> trie;
+	protected Trie<Event<?>> trie = null;
 
 	/**
@@ -79,5 +79,7 @@
 	 * <p>
 	 * Trains the model by generating a trie from which probabilities are
-	 * calculated.
+	 * calculated. The trie is newly generated based solely on the passed
+	 * sequences. If an existing model should only be updated, use
+	 * {@link #update(Collection)} instead.
 	 * </p>
 	 * 
@@ -86,6 +88,23 @@
 	 */
 	public void train(Collection<List<Event<?>>> sequences) {
-		trie = new Trie<Event<?>>();
-
+		trie = null;
+		update(sequences);
+	}
+
+	/**
+	 * <p>
+	 * Trains the model by updating the trie from which the probabilities are
+	 * calculated. This function updates an existing trie. In case no trie
+	 * exists yet, a new trie is generated and the function behaves like
+	 * {@link #train(Collection)}.
+	 * </p>
+	 * 
+	 * @param sequences
+	 *            training data
+	 */
+	public void update(Collection<List<Event<?>>> sequences) {
+		if (trie == null) {
+			trie = new Trie<Event<?>>();
+		}
 		for (List<Event<?>> sequence : sequences) {
 			List<Event<?>> currentSequence = new LinkedList<Event<?>>(sequence); // defensive
@@ -308,5 +327,7 @@
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see de.ugoe.cs.eventbench.models.IStochasticProcess#getNumFOMStates()
 	 */
