docs: public CmsResource createResource(
          CmsRequestContext context,
          String resourcePath,
          CmsResource resource,
          byte[] content,
          List<CmsProperty> properties)
      throws CmsVfsResourceAlreadyExistsException, CmsVfsException, CmsException {
  
          if (existsResource(context, resourcePath, CmsResourceFilter.IGNORE_EXPIRATION)) {
              // check if the resource already exists by name
              throw new CmsVfsResourceAlreadyExistsException(
                  org.opencms.db.generic.Messages.get().container(
                      org.opencms.db.generic.Messages.ERR_RESOURCE_WITH_NAME_ALREADY_EXISTS_1,
                      resource.getRootPath()));
          }
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          CmsResource newResource = null;
          try {
              checkOfflineProject(dbc);
              newResource = m_driverManager.createResource(dbc, resourcePath, resource, content, properties, false);
          } catch (Exception e) {
              dbc.report(
                  null,
                  Messages.get().container(Messages.ERR_IMPORT_RESOURCE_2, context.getSitePath(resource), resourcePath),
                  e);
          } finally {
              dbc.clear();
          }
          return newResource;
      }