code: public static List<PluginPassiveScanner> getPassiveScanRules(AddOn addOn, AddOnClassLoader addOnClassLoader) {
          validateNotNull(addOn, "addOn");
          validateNotNull(addOnClassLoader, "addOnClassLoader");
  
          synchronized (addOn) {
              if (addOn.isLoadedPscanrulesSet()) {
                  return addOn.getLoadedPscanrules();
              }
  
              List<PluginPassiveScanner> pscanrules = loadDeclaredClasses(
                      addOnClassLoader,
                      addOn.getPscanrules(),
                      PluginPassiveScanner.class,
                      "pscanrule");
              addOn.setLoadedPscanrules(pscanrules);
              addOn.setLoadedPscanrulesSet(true);
              return Collections.unmodifiableList(pscanrules);
          }
      }
docs: Gets the passive scan rules of the given {@code addOn}. The passive scan rules are first loaded, if they weren't already.
  
  @param addOn the add-on whose passive scan rules will be returned
  @param addOnClassLoader the {@code AddOnClassLoader} of the given {@code addOn}
  @return an unmodifiable {@code List} with the passive scan rules, never {@code null}
  @throws IllegalArgumentException if any of the parameters is {@code null}.