code: public boolean addPassiveScanner(PassiveScanner passiveScanner) {
          if (passiveScanner == null) {
              throw new IllegalArgumentException("Parameter passiveScanner must not be null.");
          }
  
          if (passiveScanner instanceof PluginPassiveScanner) {
              return addPluginPassiveScannerImpl((PluginPassiveScanner) passiveScanner);
          }
          return addPassiveScannerImpl(passiveScanner);
      }
docs: Adds the given passive scanner to the list of passive scanners that will be used to scan proxied messages.
  <p>
  The passive scanner will not be added if there is already a passive scanner with the same name.
  </p>
  <p>
  If the passive scanner extends from {@code PluginPassiveScanner} it will be added with the method
  {@code addPluginPassiveScanner(PluginPassiveScanner)}.
  </p>
  
  @param passiveScanner the passive scanner that will be added
  @return {@code true} if the scanner was added, {@code false} otherwise.
  @throws IllegalArgumentException if the given passive scanner is {@code null}.
  @see PluginPassiveScanner
  @see #addPluginPassiveScanner(PluginPassiveScanner)
  @see PassiveScanner