private synchronized void initialize() // @BeforeClass not possible because DAOs are needed.
     {
   if (initialized == true) {
     return;
   }
   initialized = true;
   logon(getUser(TEST_ADMIN_USER));
   TaskDO task;
   task = initTestDB.addTask("TimesheetBookingTest", "root");
   final GroupTaskAccessDO access =
       new GroupTaskAccessDO()
           .setGroup(initTestDB.addGroup("TBT", TEST_USER))
           .addAccessEntry(new AccessEntryDO(AccessType.OWN_TIMESHEETS, true, true, true, true))
           .setTask(task);
   accessDao.save(access);
   logon(getUser(TEST_FINANCE_USER));
   taskDao.update(initTestDB.addTask("TBT-1", "TimesheetBookingTest"));
   taskDao.update(initTestDB.addTask("TBT-1.1", "TBT-1").setStatus(TaskStatus.C));
   taskDao.markAsDeleted(initTestDB.addTask("TBT-1.2", "TBT-1"));
   taskDao.update(initTestDB.addTask("TBT-1.2.1", "TBT-1.2"));
   taskDao.update(
       initTestDB
           .addTask("TBT-2", "TimesheetBookingTest")
           .setTimesheetBookingStatus(TimesheetBookingStatus.TREE_CLOSED));
   taskDao.update(
       initTestDB
           .addTask("TBT-2.1", "TBT-2")
           .setTimesheetBookingStatus(TimesheetBookingStatus.OPENED));
   taskDao.update(
       initTestDB
           .addTask("TBT-3", "TimesheetBookingTest")
           .setTimesheetBookingStatus(TimesheetBookingStatus.ONLY_LEAFS));
   initTestDB.addTask("TBT-3.1", "TBT-3");
   initTestDB.addTask("TBT-3.1.1", "TBT-3.1");
   initTestDB.addTask("TBT-3.1.2", "TBT-3.1");
   initTestDB.addTask("TBT-3.2", "TBT-3");
   taskDao.update(
       initTestDB
           .addTask("TBT-4", "TimesheetBookingTest")
           .setTimesheetBookingStatus(TimesheetBookingStatus.NO_BOOKING));
   taskDao.update(
       initTestDB
           .addTask("TBT-4.1", "TBT-4")
           .setTimesheetBookingStatus(TimesheetBookingStatus.INHERIT));
   taskDao.update(
       initTestDB
           .addTask("TBT-4.1.1", "TBT-4.1")
           .setTimesheetBookingStatus(TimesheetBookingStatus.OPENED));
   initTestDB.addTask("TBT-5", "TimesheetBookingTest");
   initTestDB.addTask("TBT-5.1", "TBT-5");
   initTestDB.addTask("TBT-5.1.1", "TBT-5.1");
   initTestDB.addTask("TBT-5.1.2", "TBT-5.1");
   initTestDB.addTask("TBT-5.2", "TBT-5");
   initTestDB.addTask("TBT-5.2.1", "TBT-5.2");
   initTestDB.addTask("TBT-5.2.1.1", "TBT-5.2.1");
 }