if (inputDirectory.isDirectory()) {
                root.addContentsRecursively(inputDirectory);
            }
            StreamHandler streamHandler = new ISOImageFileHandler(isoFile);
            CreateISO iso = new CreateISO(streamHandler, root);
            ISO9660Config iso9660Config = new ISO9660Config();
            iso9660Config.allowASCII(allowASCII.booleanValue());
            iso9660Config.setInterchangeLevel(interchangeLevel.intValue());
            iso9660Config.restrictDirDepthTo8(restrictDirDepthTo8.booleanValue());
            iso9660Config.forceDotDelimiter(forceDotDelimiter.booleanValue());
            iso9660Config.setInterchangeLevel(interchangeLevel.intValue());
            iso9660Config.setPadEnd(padEnd.booleanValue());
            applyConfig(iso9660Config);
            RockRidgeConfig rrConfig = null;
            if (enableRockRidge.booleanValue()) {
              rrConfig = new RockRidgeConfig();
              rrConfig.setMkisofsCompatibility(mkisofsCompatibility.booleanValue());
              rrConfig.hideMovedDirectoriesStore(hideMovedDirectoriesStore.booleanValue());
              rrConfig.forcePortableFilenameCharacterSet(forcePortableFilenameCharacterSet.booleanValue());
            }
            JolietConfig jolietConfig = null;
            if (enableJoliet.booleanValue()) {
              jolietConfig = new JolietConfig();
              jolietConfig.forceDotDelimiter(forceDotDelimiter.booleanValue());
              applyConfig(jolietConfig);
            }
            // El Torito support
            ElToritoConfig elToritoConfig = null;
            if (bootImage != null) {
                this.getLog().info("El Torito support enabled.");
                elToritoConfig = new ElToritoConfig(bootImage, getBootEmulation(),
                        getBootPlatformID(), bootImageID, bootImageSectorCount,
                        bootImageLoadSegment);
                elToritoConfig.setGenBootInfoTable(genBootInfoTable);
            }
            iso.process(iso9660Config, rrConfig, jolietConfig, elToritoConfig);
        } catch (HandlerException e) {
            throw new MojoExecutionException(e.getMessage(), e);
        } catch (FileNotFoundException e) {
            throw new MojoExecutionException(e.getMessage(), e);
        } catch (ConfigException e) {