docs: private void copySampleFiles(CmsModule module, String moduleFolder)
      throws CmsIllegalArgumentException, CmsException {
  
          CmsObject cms = getCms();
          List<String> moduleResource = new ArrayList<String>(module.getResources());
          if (!cms.existsResource(moduleFolder)) {
              cms.createResource(moduleFolder, CmsResourceTypeFolder.getStaticTypeId());
              moduleResource.add(moduleFolder);
          }
          String schemaFolder = CmsStringUtil.joinPaths(moduleFolder, "schemas");
          if (!cms.existsResource(schemaFolder)) {
              cms.createResource(schemaFolder, CmsResourceTypeFolder.getStaticTypeId());
          }
          String schemaFile = CmsStringUtil.joinPaths(schemaFolder, m_resInfo.getName() + ".xsd");
          if (!cms.existsResource(schemaFile)) {
              cms.copyResource(SAMPLE_SCHEMA, schemaFile, CmsResource.COPY_AS_NEW);
              if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(m_resInfo.getSchemaTypeName())) {
                  // replace the sample schema type name with the provided name
                  try {
                      CmsFile schema = cms.readFile(schemaFile);
                      OpenCms.getLocaleManager();
                      String schemaContent = new String(
                          schema.getContents(),
                          CmsLocaleManager.getResourceEncoding(cms, schema));
                      schemaContent = schemaContent.replaceAll(SAMPLE_SCHEMA_TYPE_NAME, m_resInfo.getSchemaTypeName());
                      schema.setContents(schemaContent.getBytes());
                      cms.writeFile(schema);
                  } catch (Exception e) {
                      LOG.error(e.getLocalizedMessage(), e);
                      getReport().addError(e);
                  }
              }
  
          }
          m_resInfo.setSchema(schemaFile);
          String filetypesFolder = "/system/workplace/resources/filetypes/";
          String smallIcon = CmsStringUtil.joinPaths(filetypesFolder, m_resInfo.getName() + ".png");
          if (!cms.existsResource(smallIcon)) {
              cms.copyResource(SAMPLE_ICON_SMALL, smallIcon, CmsResource.COPY_AS_NEW);
              moduleResource.add(smallIcon);
          }
          m_resInfo.setSmallIcon(m_resInfo.getName() + ".png");
          String bigIcon = CmsStringUtil.joinPaths(filetypesFolder, m_resInfo.getName() + "_big.png");
          if (!cms.existsResource(bigIcon)) {
              cms.copyResource(SAMPLE_ICON_BIG, bigIcon, CmsResource.COPY_AS_NEW);
              moduleResource.add(bigIcon);
          }
          m_resInfo.setBigIcon(m_resInfo.getName() + "_big.png");
          module.setResources(moduleResource);
      }