public static Map<Integer, Double> mergeProbMaps(BookmarkReader reader, Map<Integer, Double> from, Map<Integer, Double> to, double lambda) {
		Map<Integer, Double> resultMap = new LinkedHashMap<Integer, Double>();
		for (int i = 0; i < reader.getTags().size(); i++) {
			Double fromVal = from.get(i);
			if (fromVal == null) {
				fromVal = 0.0;
			}
			Double toVal = to.get(i);
			if (toVal == null) {
				toVal = 0.0;
			}
			if (fromVal > 0.0 || toVal > 0.0) {
				resultMap.put(i, lambda * fromVal + (1.0 - lambda) * toVal);
			}
		}
		return resultMap;
		/*
		for (Map.Entry<Integer, Double> entry : from.entrySet()) {
			Double prob = to.get(entry.getKey());
			if (prob == null) {
				prob = 0.0;
				System.out.println("Merge maps: value not found");
			}
			to.put(entry.getKey(), lambda * entry.getValue() + (1.0 - lambda) * prob);
		}
		return to;
		*/
	}