docs: public static List<File> split(File inputFile, File outputDirectory) throws IOException {
          ImageInputStream input = null;
          List<File> outputFiles = new ArrayList<>();
          try {
              input = ImageIO.createImageInputStream(inputFile);
              List<TIFFPage> pages = getPages(input);
              int pageNo = 1;
              for (TIFFPage tiffPage : pages) {
                  ArrayList<TIFFPage> outputPages = new ArrayList<TIFFPage>(1);
                  ImageOutputStream outputStream = null;
                  try {
                      File outputFile = new File(outputDirectory, String.format("%04d", pageNo) + ".tif");
                      outputStream = ImageIO.createImageOutputStream(outputFile);
                      outputPages.clear();
                      outputPages.add(tiffPage);
                      writePages(outputStream, outputPages);
                      outputFiles.add(outputFile);
                  }
                  finally {
                      if (outputStream != null) {
                          outputStream.flush();
                          outputStream.close();
                      }
                  }
                  ++pageNo;
              }
          }
          finally {
              if (input != null) {
                  input.close();
              }
          }
          return outputFiles;
      }