docs: public void createdModule(
          String name,
          String niceName,
          String group,
          String actionClass,
          String importScript,
          String importSite,
          String site,
          String exportModeName,
          String description,
          String version,
          String authorName,
          String authorEmail,
          String dateCreated,
          String userInstalled,
          String dateInstalled) {
  
          String moduleName;
  
          if (!CmsStringUtil.isValidJavaClassName(name)) {
              // ensure backward compatibility with old (5.0) module names
              LOG.error(Messages.get().getBundle().key(Messages.LOG_INVALID_MOD_NAME_IMPORTED_1, name));
              moduleName = makeValidJavaClassName(name);
              LOG.error(Messages.get().getBundle().key(Messages.LOG_CORRECTED_MOD_NAME_1, moduleName));
          } else {
              moduleName = name;
          }
  
          // parse the module version
          CmsModuleVersion moduleVersion = new CmsModuleVersion(version);
  
          // parse date created
          long moduleDateCreated = CmsModule.DEFAULT_DATE;
          if (dateCreated != null) {
              try {
                  moduleDateCreated = CmsDateUtil.parseHeaderDate(dateCreated);
              } catch (ParseException e) {
                  // noop
              }
          }
  
          // parse date installed
          long moduleDateInstalled = CmsModule.DEFAULT_DATE;
          if (dateInstalled != null) {
              try {
                  moduleDateInstalled = CmsDateUtil.parseHeaderDate(dateInstalled);
              } catch (ParseException e1) {
                  // noop
              }
          }
  
          if (m_oldModule) {
              // make sure module path is added to resources for "old" (5.0.x) modules
              String modulePath = CmsWorkplace.VFS_PATH_MODULES + name + "/";
              m_resources.add(modulePath);
          }
  
          ExportMode exportMode = ExportMode.DEFAULT;
          try {
              if (!CmsStringUtil.isEmptyOrWhitespaceOnly(exportModeName)) {
                  exportMode = ExportMode.valueOf(exportModeName.toUpperCase());
              }
          } catch (IllegalArgumentException e) {
              LOG.warn(e.getLocalizedMessage(), e);
              //stay with default export mode
          }
  
          String siteForConstructor;
          boolean isImportSite;
  
          if (importSite != null) {
              siteForConstructor = importSite;
              isImportSite = true;
          } else {
              siteForConstructor = site;
              isImportSite = false;
          }
  
          // now create the module
          m_module = new CmsModule(
              moduleName,
              niceName,
              group,
              actionClass,
              importScript,
              siteForConstructor,
              isImportSite,
              exportMode,
              description,
              moduleVersion,
              authorName,
              authorEmail,
              moduleDateCreated,
              userInstalled,
              moduleDateInstalled,
              m_dependencies,
              m_exportPoints,
              m_resources,
              m_excluderesources,
              m_parameters);
  
          // store module name in the additional resource types
          List<I_CmsResourceType> moduleResourceTypes = new ArrayList<I_CmsResourceType>(m_resourceTypes.size());
          for (Iterator<I_CmsResourceType> i = m_resourceTypes.iterator(); i.hasNext();) {
              I_CmsResourceType resType = i.next();
              resType.setModuleName(moduleName);
              moduleResourceTypes.add(resType);
          }
          // set the additional resource types;
          m_module.setResourceTypes(moduleResourceTypes);
  
          // set the additional explorer types
          m_module.setExplorerTypes(m_explorerTypeSettings);
  
          m_module.setAutoIncrement(m_autoIncrement);
  
          m_module.setCheckpointTime(m_checkpointTime);
      }