/*
  * @see ILabelProvider#getText(Object)
  */
 @Override
 public String getText(Object element) {
   TreeStructuredElement treeElement = (TreeStructuredElement) element;
   String name = treeElement.getName();
   if (treeElement.getType() == TreeType.EXECUTION_CONDITION_TYPE) {
     if (((ExecutionCondition) treeElement).isMethodExecutionCondition()) {
       ExecutionCondition methodExecutionCondition = (ExecutionCondition) treeElement;
       if (methodExecutionCondition.getPatternMapping() != null) {
         String methodName =
             ExecutionConditionUtils.getEscapedNameFromPattern(
                 methodExecutionCondition.getPatternMapping().getBehaviorPattern());
         int index = methodName.indexOf("#"); // $NON-NLS-1$
         if (index >= 0) {
           methodName = methodName.substring(index + 1, methodName.length());
         }
         name += " : " + methodName; // $NON-NLS-1$
       }
     }
   } else if (treeElement.getType() == TreeType.CLASS_TYPE) {
     name = ExecutionConditionUtils.getClassNameFromPattern(name);
   } else if (treeElement.getType() == TreeType.PACKAGE_TYPE) {
     name = ExecutionConditionUtils.getEscapedNameFromPattern(name);
   }
   return name;
 }
 @Override
 protected void remove() {
   super.remove();
   if (packageRootType != null) {
     wasExecuted &= packageRootType.removePersistentTreeStructuredElement(elementTree);
   }
 }
 @Override
 protected void add() {
   super.add();
   if (packageRootType == null) {
     packageRootType = elementTree.getAntecesor(TreeType.PACKAGE_ROOT_TYPE);
   }
   if (packageRootType != null) {
     wasExecuted &= packageRootType.addPersistentTreeStructuredElement(elementTree);
   }
 }