code: public void start(JBakeConfiguration config) {
          try {
              FileSystemManager fsMan = VFS.getManager();
              FileObject listenPath = fsMan.resolveFile(config.getContentFolder().toURI());
              FileObject templateListenPath = fsMan.resolveFile(config.getTemplateFolder().toURI());
              FileObject assetPath = fsMan.resolveFile(config.getAssetFolder().toURI());
  
              logger.info("Watching for (content, template, asset) changes in [{}]", config.getSourceFolder().getPath());
              DefaultFileMonitor monitor = new DefaultFileMonitor(new CustomFSChangeListener(config));
              monitor.setRecursive(true);
              monitor.addFile(listenPath);
              monitor.addFile(templateListenPath);
              monitor.addFile(assetPath);
              monitor.start();
          } catch (FileSystemException e) {
              logger.error("Problems watching filesystem changes", e);
          }
      }
docs: Starts watching the file system for changes to trigger a bake.
  
  @param config JBakeConfiguration settings