public Todo findOne(String todoId) {
   Todo todo = todoRepository.findOne(todoId);
   if (todo == null) {
     throw new TodoNotFoundException(todoId);
   }
   return todo;
 }
 public Todo create(Todo todo, String username) {
   LocalDateTime createdAt = LocalDateTime.now(clock);
   todo.setUsername(username);
   todo.setCreatedAt(createdAt);
   todo.setFinished(false);
   todoRepository.create(todo);
   return todo;
 }
 public void delete(String todoId) {
   Todo todo = findOne(todoId);
   todoRepository.delete(todo);
 }
 public Todo update(String todoId, Todo updatingTodo) {
   Todo todo = findOne(todoId);
   BeanUtils.copyProperties(updatingTodo, todo, "todoId");
   todoRepository.update(todo);
   return todo;
 }
 public Todo finish(String todoId) {
   Todo todo = findOne(todoId);
   todo.setFinished(true);
   todoRepository.update(todo);
   return todo;
 }
 public List<Todo> findAllByUsername(String username) {
   return todoRepository.findAllByUsername(username);
 }