/** @see org.projectforge.web.wicket.AbstractSelectPanel#onBeforeRender() */
 @SuppressWarnings("serial")
 @Override
 protected void onBeforeRender() {
   super.onBeforeRender();
   final TaskDO task = getModelObject();
   final Integer taskId = task != null ? task.getId() : null;
   if (currentTaskId == taskId) {
     return;
   }
   currentTaskId = taskId;
   if (showPath == true && task != null) {
     ancestorRepeater.removeAll();
     final TaskNode taskNode = taskTree.getTaskNodeById(task.getId());
     final List<Integer> ancestorIds = taskNode.getAncestorIds();
     final ListIterator<Integer> it = ancestorIds.listIterator(ancestorIds.size());
     while (it.hasPrevious() == true) {
       final Integer ancestorId = it.previous();
       final TaskDO ancestorTask = taskTree.getTaskById(ancestorId);
       if (ancestorTask.getParentTask() == null) {
         // Don't show root node:
         continue;
       }
       final WebMarkupContainer cont = new WebMarkupContainer(ancestorRepeater.newChildId());
       ancestorRepeater.add(cont);
       final SubmitLink selectTaskLink =
           new SubmitLink("ancestorTaskLink") {
             @Override
             public void onSubmit() {
               caller.select(selectProperty, ancestorTask.getId());
             }
           };
       selectTaskLink.setDefaultFormProcessing(false);
       cont.add(selectTaskLink);
       WicketUtils.addTooltip(
           selectTaskLink, getString("task.selectPanel.selectAncestorTask.tooltip"));
       selectTaskLink.add(new Label("name", ancestorTask.getTitle()));
     }
     ancestorRepeater.setVisible(true);
   } else {
     ancestorRepeater.setVisible(false);
   }
 }