docs: public static void copy(File source, File target) {
          if (!source.exists()) {
              throw new IllegalArgumentException("Source does not exist");
          }
          if (source.isDirectory()) {
              copyDirectory(source, target);
          } else {
              copyFile(source, target, -1);
          }
      }