@Check
 public void checkUniqueDecompositionInIntent(final Intent intent) {
   final HashSet<String> visitedDecompositionTypeNames = CollectionLiterals.<String>newHashSet();
   EList<Decomposition> decompositions = intent.getDecompositions();
   ListIterator<Decomposition> i = decompositions.listIterator();
   while (i.hasNext()) {
     {
       Decomposition _next = i.next();
       Decomposition d = ((Decomposition) _next);
       DecompositionType _type = d.getType();
       String typeName = _type.getTypeName();
       boolean _contains = visitedDecompositionTypeNames.contains(typeName);
       if (_contains) {
         EReference _intent_Decompositions =
             IntentSpecificationPackage.eINSTANCE.getIntent_Decompositions();
         String _name = d.getName();
         this.warning(
             (("duplicate decomposition type \'" + typeName) + "\' in intent"),
             _intent_Decompositions,
             IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT,
             _name);
       }
       visitedDecompositionTypeNames.add(typeName);
     }
   }
 }
 @Check
 public void checkUniqueListItemInDecomposition(final Decomposition decomposition) {
   final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
   EList<ListItem> items = decomposition.getItems();
   ListIterator<ListItem> i = items.listIterator();
   while (i.hasNext()) {
     {
       ListItem d = i.next();
       boolean _contains = visitedListItems.contains(d);
       if (_contains) {
         String _name = d.getName();
         String _plus = ("duplicate item reference \'" + _name);
         String _plus_1 = (_plus + "\' in list");
         EReference _decomposition_Items =
             IntentSpecificationPackage.eINSTANCE.getDecomposition_Items();
         String _name_1 = d.getName();
         this.warning(
             _plus_1,
             _decomposition_Items,
             IntentSpecificationValidator.UNIQUE_LIST_ITEM_DECOMPOSITION,
             _name_1);
       }
       visitedListItems.add(d);
     }
   }
 }