docs: boolean equivalent(Object obj) {
          if (this == obj)
              return true;
          if (obj == null)
              return false;
          if (getClass() != obj.getClass())
              return false;
          WlpInformation other = (WlpInformation) obj;
  
          if (appliesTo == null) {
              if (other.appliesTo != null)
                  return false;
          } else if (!appliesTo.equals(other.appliesTo))
              return false;
  
          if (date == null) {
              if (other.date != null)
                  return false;
          } else if (!date.equals(other.date))
              return false;
  
          if (links == null) {
              if (other.links != null)
                  return false;
          } else if (!links.equals(other.links))
              return false;
  
          if (shortName == null) {
              if (other.shortName != null)
                  return false;
          } else if (!shortName.equals(other.shortName))
              return false;
  
          if (lowerCaseShortName == null) {
              if (other.lowerCaseShortName != null)
                  return false;
          } else if (!lowerCaseShortName.equals(other.lowerCaseShortName))
              return false;
  
          if (productEdition == null) {
              if (other.productEdition != null)
                  return false;
          } else if (!productEdition.equals(other.productEdition))
              return false;
  
          if (productId == null) {
              if (other.productId != null)
                  return false;
          } else if (!productId.equals(other.productId))
              return false;
  
          if (productInstallType == null) {
              if (other.productInstallType != null)
                  return false;
          } else if (!productInstallType.equals(other.productInstallType))
              return false;
  
          if (productVersion == null) {
              if (other.productVersion != null)
                  return false;
          } else if (!productVersion.equals(other.productVersion))
              return false;
  
          if (provideFeature == null) {
              if (other.provideFeature != null)
                  return false;
          } else {
              if (other.provideFeature != null) {
                  if (other.provideFeature.size() != provideFeature.size()) {
                      return false;
                  }
                  for (String s : other.provideFeature) {
                      if (!provideFeature.contains(s)) {
                          return false;
                      }
                  }
              } else {
                  return false;
              }
          }
  
          if (links == null) {
              if (other.links != null)
                  return false;
          } else if (!links.equals(other.links))
              return false;
  
          if (provideFix == null) {
              if (other.provideFix != null)
                  return false;
          } else if (!provideFix.equals(other.provideFix))
              return false;
  
          if (requireFeature == null) {
              if (other.requireFeature != null)
                  return false;
          } else {
              if (other.requireFeature != null) {
                  if (other.requireFeature.size() != requireFeature.size()) {
                      return false;
                  }
                  for (String s : other.requireFeature) {
                      if (!requireFeature.contains(s)) {
                          return false;
                      }
                  }
              } else {
                  return false;
              }
          }
  
          if (requireFix == null) {
              if (other.requireFix != null)
                  return false;
          } else {
              if (other.requireFix != null) {
                  if (other.requireFix.size() != requireFix.size()) {
                      return false;
                  }
                  for (String s : other.requireFix) {
                      if (!requireFix.contains(s)) {
                          return false;
                      }
                  }
              } else {
                  return false;
              }
          }
  
          if (typeLabel == null) {
              if (other.typeLabel != null)
                  return false;
          } else if (!typeLabel.equals(other.typeLabel))
              return false;
  
          if (visibility == null) {
              if (other.visibility != null)
                  return false;
          } else if (!visibility.equals(other.visibility))
              return false;
  
          if (scriptLanguage == null) {
              if (other.scriptLanguage != null)
                  return false;
          } else if (!scriptLanguage.equals(other.scriptLanguage))
              return false;
  
          if (downloadPolicy == null) {
              if (other.downloadPolicy != null)
                  return false;
          } else if (!downloadPolicy.equals(other.downloadPolicy))
              return false;
  
          if (provisionCapability == null) {
              if (other.provisionCapability != null)
                  return false;
          } else if (!provisionCapability.equals(other.provisionCapability))
              return false;
  
          if (installPolicy == null) {
              if (other.installPolicy != null)
                  return false;
          } else if (!installPolicy.equals(other.installPolicy))
              return false;
  
          if (displayPolicy == null) {
              if (other.displayPolicy != null)
                  return false;
          } else if (!displayPolicy.equals(other.displayPolicy))
              return false;
  
          if (webDisplayPolicy == null) {
              if (other.webDisplayPolicy != null)
                  return false;
          } else if (!webDisplayPolicy.equals(other.webDisplayPolicy))
              return false;
  
          if (vanityRelativeURL == null) {
              if (other.vanityRelativeURL != null)
                  return false;
          } else if (!vanityRelativeURL.equals(other.vanityRelativeURL))
              return false;
  
          if (featuredWeight == null) {
              if (other.featuredWeight != null)
                  return false;
          } else if (!featuredWeight.equals(other.featuredWeight))
              return false;
  
          if (wlpInformationVersion == null) {
              if (other.wlpInformationVersion != null)
                  return false;
          } else if (!wlpInformationVersion.equals(other.wlpInformationVersion))
              return false;
  
          if (mainAttachmentSize != other.mainAttachmentSize)
              return false;
  
          if (supersededBy == null) {
              if (other.supersededBy != null) {
                  return false;
              }
          } else if (!supersededBy.equals(other.supersededBy)) {
              return false;
          }
  
          if (supersededByOptional == null) {
              if (other.supersededByOptional != null) {
                  return false;
              }
          } else if (!supersededByOptional.equals(other.supersededByOptional)) {
              return false;
          }
  
          if (javaSEVersionRequirements == null) {
              if (other.javaSEVersionRequirements != null) {
                  return false;
              }
          } else if (!javaSEVersionRequirements.equals(other.javaSEVersionRequirements)) {
              return false;
          }
  
          if (mainAttachmentSHA256 == null) {
              if (other.mainAttachmentSHA256 != null) {
                  return false;
              }
          } else if (!mainAttachmentSHA256.equals(other.mainAttachmentSHA256)) {
              return false;
          }
  
          if (genericRequirements == null) {
              if (other.genericRequirements != null) {
                  return false;
              }
          } else if (!genericRequirements.equals(other.genericRequirements)) {
              return false;
          }
  
          if (packagedJava == null) {
              if (other.packagedJava != null) {
                  return false;
              }
          } else if (!packagedJava.equals(other.packagedJava)) {
              return false;
          }
  
          if (requireFeatureWithTolerates == null) {
              if (other.requireFeatureWithTolerates != null) {
                  return false;
              }
          } else if (!requireFeatureWithTolerates.equals(other.requireFeatureWithTolerates)) {
              return false;
          }
  
          if (mavenCoordinates == null) {
              if (other.mavenCoordinates != null) {
                  return false;
              }
          } else if (!mavenCoordinates.equals(other.mavenCoordinates)) {
              return false;
          }
  
          if (singleton == null) {
              if (other.singleton != null)
                  return false;
          } else if (!singleton.equals(other.singleton))
              return false;
  
          if (ibmInstallTo == null) {
              if (other.ibmInstallTo != null)
                  return false;
          } else if (!ibmInstallTo.equals(other.ibmInstallTo))
              return false;
  
          return true;
      }