code: private boolean needToExportModule(CmsModule module, File moduleFile, CmsProject project) {
  
          if (!moduleFile.exists()) {
              LOG.info("Module export file doesn't exist, export is needed.");
              try {
                  String moduleSignature = computeModuleHash(module, project);
                  if (moduleSignature != null) {
                      m_moduleHashCache.put(module, moduleSignature);
                  }
              } catch (CmsException e) {
                  LOG.error(e.getLocalizedMessage(), e);
              }
              return true;
          } else {
              if (moduleFile.lastModified() < module.getObjectCreateTime()) {
                  return true;
              }
  
              String oldModuleSignature = m_moduleHashCache.get(module);
              String newModuleSignature = null;
              try {
                  newModuleSignature = computeModuleHash(module, project);
              } catch (CmsException e) {
                  LOG.error(e.getLocalizedMessage(), e);
              }
  
              LOG.info(
                  "Comparing module hashes for "
                      + module.getName()
                      + " to check if export is needed: old = "
                      + oldModuleSignature
                      + ",  new="
                      + newModuleSignature);
              if ((newModuleSignature == null) || !Objects.equal(oldModuleSignature, newModuleSignature)) {
                  if (newModuleSignature != null) {
                      m_moduleHashCache.put(module, newModuleSignature);
                  }
                  // if an error occurs or the module signatures don't match
                  return true;
              } else {
                  return false;
              }
          }
      }
docs: Checks if a given module needs to be re-exported.<p>
  
  @param module the module to check
  @param moduleFile the file representing the exported module (doesn't necessarily exist)
  @param project the project in which to check
  
  @return true if the module needs to be exported