/**
  * Returns a command for graphical delete (with local conditions also deleted).
  *
  * @see org.eclipse.gef.EditPolicy#getCommand(Request)
  * @return the command or null
  */
 @Override
 public Command getCommand(Request request) {
   if (RequestConstants.REQ_DELETE.equals(request.getType())) {
     if (request instanceof GroupRequest) {
       // List of parts from the request is not up to date. Consider the host only.
       List<?> parts = Collections.singletonList(getHost());
       ((GroupRequest) request).setEditParts(getHost());
       // inspect the list of parts to add linked local conditions
       List<EditPart> partsToAdd = getListOfLinkedLocalConditionsParts(parts);
       ((GroupRequest) request).getEditParts().addAll(partsToAdd);
       return getDeleteCommand((GroupRequest) request);
     }
   }
   return null;
 }
 /**
  * Returns true when the request is a graphical delete
  *
  * @see org.eclipse.gef.EditPolicy#understandsRequest(Request)
  * @return true for a graphical delete request
  */
 @Override
 public boolean understandsRequest(Request req) {
   return RequestConstants.REQ_DELETE.equals(req.getType());
 }