public Map<Integer, Double> getValueProbsForID(int id, boolean topicCreation) {
		Map<Integer, Double> terms = null;
		if (id < this.docList.size()) {
			terms = new LinkedHashMap<Integer, Double>();
			Map<Integer, Double> docVals = this.docList.get(id);
			for (Map.Entry<Integer, Double> topic : docVals.entrySet()) { // look at each assigned topic
				Set<Entry<Integer, Double>> entrySet = this.topicList.get(topic.getKey()).entrySet();
				double topicProb = topic.getValue();
				for (Map.Entry<Integer, Double> entry : entrySet) { // and its terms
					if (topicCreation) {
						if (topicProb > TOPIC_THRESHOLD) {
							terms.put(entry.getKey(), topicProb);
							break; // only use first tag as topic-name with the topic probability
						}
					} else {
						double wordProb = entry.getValue();
						Double val = terms.get(entry.getKey());
						terms.put(entry.getKey(), val == null ? wordProb * topicProb : val + wordProb * topicProb);
					}
				}
			}
		}
		return terms;
	}