code: public AddOnRunRequirements calculateRunRequirements(Collection<AddOn> availableAddOns) {
  		AddOnRunRequirements requirements = new AddOnRunRequirements(this);
  		calculateRunRequirementsImpl(availableAddOns, requirements, null, this);
  		if (requirements.isRunnable()) {
  			checkExtensionsWithDeps(availableAddOns, requirements, this);
  		}
  		return requirements;
  	}
docs: Calculates the requirements to run this add-on, in the current ZAP and Java versions and with the given
  {@code availableAddOns}.
  <p>
  If the add-on depends on other add-ons, those add-ons are also checked if are also runnable.
  <p>
  <strong>Note:</strong> All the given {@code availableAddOns} are expected to be loadable in the currently running ZAP
  version, that is, the method {@code AddOn.canLoadInCurrentVersion()}, returns {@code true}.
  
  @param availableAddOns the other add-ons available
  @return a requirements to run the add-on, and if not runnable the reason why it's not.
  @since 2.4.0
  @see #canLoadInCurrentVersion()
  @see #canRunInCurrentJavaVersion()
  @see AddOnRunRequirements