@Override
 protected MarkupContainer getDeleteLink(String id, IModel<? extends Artifact> artifactModel) {
   List<FollowedArtifact> followedArtifacts =
       followedArtifactService.listByArtifact(artifactModel.getObject());
   if (followedArtifacts.isEmpty()) {
     return super.getDeleteLink(id, artifactModel);
   }
   return new InvisibleLink<Void>(id);
 }
 @Override
 protected void doDeleteItem(IModel<? extends Artifact> artifactModel)
     throws ServiceException, SecurityServiceException {
   followedArtifactService.deleteNotifications(artifactModel.getObject());
   artifactService.delete(artifactModel.getObject());
 }