public void load() {
		// logger.info("load()...");

		try {
			if (!this.todoDatabaseFile.exists()) {
				logger.warn("the file " + this.todoDatabaseFile
						+ " does not exist yet. Will not try to read anything, but create a default todo list");
				// Todo todo = new Todo(-1,"t1","do something");
				// this.createTodo(todo);
			} else {
				ObjectInputStream ois = new ObjectInputStream(new FileInputStream(this.todoDatabaseFile));

				// first we try to read the currentTodoId
				this.currentTodoId = ois.readInt();
				// logger.info("load(): read todoId: " + currentTodoId);

				// then try to read the objects
				Todo obj = null;
				do {
					obj = (Todo) ois.readObject();
					logger.info("load(): read object: " + obj);

					if (obj != null) {
						todos.add(obj);
					}
				} while (true);
			}
		} catch (EOFException eof) {
			logger.info("we have reached the end of the data file");
		} catch (Exception e) {
			String err = "got exception: " + e;
			logger.error(err, e);
			throw new RuntimeException(e);
		}

		// logger.info("load(): todos are: " + todos);
	}