code: public void execute()
          throws EFapsException
      {
          AccessCache.registerUpdate(getInstance());
          final  boolean hasAccess = this.instance.getType().hasAccess(this.instance,
                                                                       AccessTypeEnums.DELETE.getAccessType());
          if (!hasAccess) {
              throw new EFapsException(getClass(), "execute.NoAccess", this.instance);
          }
          executeWithoutAccessCheck();
      }
docs: First it is checked if the user has access to delete the eFaps object
  defined in {@link #instance}. If no access, an exception is thrown. If
  the context user has access. the delete is made with
  {@link #executeWithoutAccessCheck}.
  
  @throws EFapsException if the current context user has no delete access
  on given eFaps object.
  @see #executeWithoutAccessCheck()