public void leaveLastOutSplit(String filename, boolean coldStart) {
		List<Bookmark> trainLines = new ArrayList<Bookmark>();
		List<Bookmark> testLines = new ArrayList<Bookmark>();
		int currentUser = -1, userIndex = 1, userSize = -1;
		for (Bookmark data : this.reader.getBookmarks()) {
			if (currentUser != data.getUserID())  { // new user
				currentUser = data.getUserID();
				userSize = this.reader.getUserCounts().get(currentUser);
				userIndex = 1;
			}
			if (userIndex++ == userSize) {
				if (coldStart || (!coldStart && userSize > 1)) {
					testLines.add(data);
				} else {
					trainLines.add(data);
				}
			} else {
				trainLines.add(data);
			}
		}
		
		writeWikiSample(this.reader, trainLines, filename + "_train", null);
		writeWikiSample(this.reader, testLines, filename + "_test", null);
		trainLines.addAll(testLines);
		writeWikiSample(this.reader, trainLines, filename, null);
	}