docs: public void saveAliases(CmsRequestContext context, CmsResource resource, List<CmsAlias> aliases)
      throws CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          try {
              if ((aliases.size() > 0) && !(resource.getStructureId().equals(aliases.get(0).getStructureId()))) {
                  throw new IllegalArgumentException("Resource does not match aliases!");
              }
              checkPermissions(context, resource, CmsPermissionSet.ACCESS_WRITE, false, CmsResourceFilter.ALL);
              m_driverManager.saveAliases(dbc, context.getCurrentProject(), resource.getStructureId(), aliases);
              Map<String, Object> eventData = new HashMap<String, Object>();
              eventData.put(I_CmsEventListener.KEY_RESOURCE, resource);
              eventData.put(I_CmsEventListener.KEY_CHANGE, new Integer(CmsDriverManager.CHANGED_RESOURCE));
              OpenCms.fireCmsEvent(new CmsEvent(I_CmsEventListener.EVENT_RESOURCE_MODIFIED, eventData));
          } catch (Exception e) {
              dbc.report(null, Messages.get().container(Messages.ERR_DB_OPERATION_0), e);
          } finally {
              dbc.clear();
          }
      }