@Transactional
  public DailyWorkTaskTO rankUnderTaskOnWhatsNext(User user, Task task, Task upperTask)
      throws IllegalArgumentException {
    WhatsNextEntry entry = whatsNextEntryDAO.getWhatsNextEntryFor(user, task);

    if (entry == null) {
      entry = addToWhatsNext(user, task);
    }

    WhatsNextEntry upperEntry = null;
    if (upperTask != null) {
      upperEntry = whatsNextEntryDAO.getWhatsNextEntryFor(user, upperTask);
    }

    return rankUnderTaskOnWhatsNext(entry, upperEntry);
  }
 @Transactional
 public void removeFromWhatsNext(User user, Task task) throws IllegalArgumentException {
   WhatsNextEntry entry = whatsNextEntryDAO.getWhatsNextEntryFor(user, task);
   if (entry != null) {
     whatsNextEntryDAO.remove(entry);
   }
 }
 @Transactional
 public DailyWorkTaskTO rankToBottomOnWhatsNext(User user, Task task)
     throws IllegalArgumentException {
   return rankToBottomOnWhatsNext(whatsNextEntryDAO.getWhatsNextEntryFor(user, task));
 }