docs: protected void createFindbugsEngine() {
          findbugsEngine = new Java();
          findbugsEngine.setProject(getProject());
          findbugsEngine.setTaskName(getTaskName());
          findbugsEngine.setFork(true);
          if (jvm.length() > 0) {
              findbugsEngine.setJvm(jvm);
          }
          findbugsEngine.setTimeout(timeout);
  
          if (debug) {
              jvmargs = jvmargs + " -Dfindbugs.debug=true";
          }
          jvmargs = jvmargs + " -Dfindbugs.hostApp=FBAntTask";
          findbugsEngine.createJvmarg().setLine(jvmargs);
  
          // Add JVM arguments for system properties
          for (SystemProperty systemProperty : systemPropertyList) {
              String jvmArg = "-D" + systemProperty.getName() + "=" + systemProperty.getValue();
              findbugsEngine.createJvmarg().setValue(jvmArg);
          }
  
          if (homeDir != null) {
              // Use findbugs.home to locate findbugs.jar and the standard
              // plugins. This is the usual means of initialization.
              File findbugsLib = new File(homeDir, "lib");
              if (!findbugsLib.exists() && "lib".equals(homeDir.getName())) {
                  findbugsLib = homeDir;
                  homeDir = homeDir.getParentFile();
              }
              File findbugsLibFindBugs = new File(findbugsLib, "spotbugs.jar");
              // log("executing using home dir [" + homeDir + "]");
              if (findbugsLibFindBugs.exists()) {
                  findbugsEngine.setClasspath(new Path(getProject(), findbugsLibFindBugs.getPath()));
              } else {
                  throw new IllegalArgumentException("Can't find spotbugs.jar in " + findbugsLib);
              }
              findbugsEngine.createJvmarg().setValue("-Dspotbugs.home=" + homeDir.getPath());
          } else {
              // Use an explicitly specified classpath and list of plugin Jars
              // to initialize. This is useful for other tools which may have
              // FindBugs installed using a non-standard directory layout.
  
              findbugsEngine.setClasspath(classpath);
          }
          if (pluginList != null) {
              addArg("-pluginList");
              addArg(pluginList.toString());
          }
          // Set the main class to be whatever the subclass's constructor
          // specified.
          findbugsEngine.setClassname(mainClass);
      }