public void validateModule() {

    if (name == null) {
      throw new KurentoModuleCreatorException("Name is mandatory at least in one of the files");
    }

    if (kurentoVersion == null) {
      if (AUTO_IMPORTED_MODULES.contains(name)) {
        kurentoVersion = version;
      } else {
        throw new KurentoModuleCreatorException(
            "Kurento version is mandatory at least in one of the files describing: " + name);
      }
    }

    if (version == null) {
      throw new KurentoModuleCreatorException("Version is mandatory at least in one of the files");
    }

    if (VersionManager.isReleaseVersion(version)) {
      for (Import importInfo : this.imports) {
        if (!VersionManager.isReleaseVersion(importInfo.getVersion())) {
          throw new KurentoModuleCreatorException(
              "All dependencies of a release version must be also release versions. Import '"
                  + importInfo.getName() + "' is in non release version "
                  + importInfo.getVersion());
        }
      }
    }
  }