/** @generated */
 public boolean provides(IOperation operation) {
   if (!(operation instanceof CreateDecoratorsOperation)) {
     return false;
   }
   IDecoratorTarget decoratorTarget = ((CreateDecoratorsOperation) operation).getDecoratorTarget();
   View view = (View) decoratorTarget.getAdapter(View.class);
   return view != null
       && edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.ClassDiagramEditPart
           .MODEL_ID.equals(
           edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
               .ClassDiagram_MAVOVisualIDRegistry.getModelID(view));
 }
 /** @generated */
 private Collection<
         edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
             .ClassDiagram_MAVOLinkDescriptor>
     collectAllLinks(View view, Domain2Notation domain2NotationMap) {
   if (!edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.ClassDiagramEditPart
       .MODEL_ID.equals(
       edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
           .ClassDiagram_MAVOVisualIDRegistry.getModelID(view))) {
     return Collections.emptyList();
   }
   LinkedList<
           edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
               .ClassDiagram_MAVOLinkDescriptor>
       result =
           new LinkedList<
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVOLinkDescriptor>();
   switch (edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
       .ClassDiagram_MAVOVisualIDRegistry.getVisualID(view)) {
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.ClassDiagramEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getClassDiagram_1000ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.ClassEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getClass_2001ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.AttributeEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getAttribute_3001ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.OperationEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getOperation_3002ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.AssociationEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getAssociation_4001ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts
         .NestedInReferenceEditPart.VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getNestedInReference_4002ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts
         .SuperclassReferenceEditPart.VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getSuperclassReference_4003ContainedLinks(
                   view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
     case edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.edit.parts.DependencyEditPart
         .VISUAL_ID:
       {
         if (!domain2NotationMap.containsKey(view.getElement())) {
           result.addAll(
               edu.toronto.cs.se.modelepedia.classdiagram_mavo.diagram.part
                   .ClassDiagram_MAVODiagramUpdater.getDependency_4004ContainedLinks(view));
         }
         domain2NotationMap.putView(view.getElement(), view);
         break;
       }
   }
   for (Iterator children = view.getChildren().iterator(); children.hasNext(); ) {
     result.addAll(collectAllLinks((View) children.next(), domain2NotationMap));
   }
   for (Iterator edges = view.getSourceEdges().iterator(); edges.hasNext(); ) {
     result.addAll(collectAllLinks((View) edges.next(), domain2NotationMap));
   }
   return result;
 }