public Collection<DailyWorkTaskTO> getQueuedTasksForUser(User user) {
    Collection<WhatsNextEntry> entries = whatsNextEntryDAO.getWhatsNextEntriesFor(user);
    Collection<DailyWorkTaskTO> returned = new ArrayList<DailyWorkTaskTO>();

    for (WhatsNextEntry entry : entries) {
      DailyWorkTaskTO item = transferObjectBusiness.constructQueuedDailyWorkTaskTO(entry);
      returned.add(item);
    }

    return returned;
  }
  @Transactional
  public DailyWorkTaskTO rankToBottomOnWhatsNext(final WhatsNextEntry entry)
      throws IllegalArgumentException {
    if (entry == null) {
      throw new IllegalArgumentException();
    }

    doRankToBottomOnWhatsNext(entry);
    DailyWorkTaskTO transferObj = transferObjectBusiness.constructQueuedDailyWorkTaskTO(entry);
    return transferObj;
  }
  @Transactional
  public DailyWorkTaskTO rankUnderTaskOnWhatsNext(
      final WhatsNextEntry entry, WhatsNextEntry upperEntry) {
    if (entry == null) {
      throw new IllegalArgumentException();
    }

    RankUnderDelegate delegate =
        new RankUnderDelegate() {
          public Collection<? extends Rankable> getWithRankBetween(Integer lower, Integer upper) {
            return whatsNextEntryDAO.getTasksWithRankBetween(lower, upper, entry.getUser());
          }
        };

    rankingBusiness.rankUnder(entry, upperEntry, delegate);
    DailyWorkTaskTO transferObj = transferObjectBusiness.constructQueuedDailyWorkTaskTO(entry);
    return transferObj;
  }