docs: protected CmsResource importResource(
          String source,
          String destination,
          I_CmsResourceType type,
          String uuidstructure,
          String uuidresource,
          long datelastmodified,
          String userlastmodified,
          long datecreated,
          String usercreated,
          long datereleased,
          long dateexpired,
          String flags,
          List<CmsProperty> properties) {
  
          byte[] content = null;
          CmsResource result = null;
  
          try {
  
              // get the file content
              if (source != null) {
                  content = getFileBytes(source);
              }
              int size = 0;
              if (content != null) {
                  size = content.length;
              }
  
              // get UUIDs for the user
              CmsUUID newUserlastmodified;
              CmsUUID newUsercreated;
              // check if user created and user last modified are valid users in this system.
              // if not, use the current user
              try {
                  newUserlastmodified = m_cms.readUser(userlastmodified).getId();
              } catch (CmsException e) {
                  newUserlastmodified = m_cms.getRequestContext().getCurrentUser().getId();
                  // datelastmodified = System.currentTimeMillis();
              }
  
              try {
                  newUsercreated = m_cms.readUser(usercreated).getId();
              } catch (CmsException e) {
                  newUsercreated = m_cms.getRequestContext().getCurrentUser().getId();
                  // datecreated = System.currentTimeMillis();
              }
  
              // get UUID for the structure
              CmsUUID newUuidstructure = null;
              if (uuidstructure != null) {
                  // create a UUID from the provided string
                  newUuidstructure = new CmsUUID(uuidstructure);
              } else {
                  // if null generate a new structure id
                  newUuidstructure = new CmsUUID();
              }
  
              // get UUIDs for the resource and content
              CmsUUID newUuidresource = null;
              if ((uuidresource != null) && (!type.isFolder())) {
                  // create a UUID from the provided string
                  newUuidresource = new CmsUUID(uuidresource);
              } else {
                  // folders get always a new resource record UUID
                  newUuidresource = new CmsUUID();
              }
  
              // create a new CmsResource
              CmsResource resource = new CmsResource(
                  newUuidstructure,
                  newUuidresource,
                  destination,
                  type.getTypeId(),
                  type.isFolder(),
                  new Integer(flags).intValue(),
                  m_cms.getRequestContext().getCurrentProject().getUuid(),
                  CmsResource.STATE_NEW,
                  datecreated,
                  newUsercreated,
                  datelastmodified,
                  newUserlastmodified,
                  datereleased,
                  dateexpired,
                  1,
                  size,
                  System.currentTimeMillis(),
                  0);
  
              // import this resource in the VFS
              result = m_cms.importResource(destination, resource, content, properties);
  
              if (result != null) {
                  m_report.println(
                      org.opencms.report.Messages.get().container(org.opencms.report.Messages.RPT_OK_0),
                      I_CmsReport.FORMAT_OK);
              }
          } catch (Exception exc) {
              // an error while importing the file
              m_report.println(exc);
              try {
                  // Sleep some time after an error so that the report output has a chance to keep up
                  Thread.sleep(1000);
              } catch (Exception e) {
                  //
              }
          }
          return result;
      }