/** @generated */
 public synchronized boolean provides(IOperation operation) {
   if (operation instanceof CreateGraphicEditPartOperation) {
     View view = ((IEditPartOperation) operation).getView();
     if (!ComponentDiagramEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(view))) {
       return false;
     }
     if (isAllowCaching() && getCachedPart(view) != null) {
       return true;
     }
     IGraphicalEditPart part = createEditPart(view);
     if (part != null) {
       if (isAllowCaching()) {
         cachedPart = new WeakReference(part);
         cachedView = new WeakReference(view);
       }
       return true;
     }
   }
   return false;
 }