private static void copyDirectory(
            File directoryToCopy,
            File directoryToCopyInto) {
        try {
            if (!directoryToCopyInto.mkdir()) {
                directoryToCopyInto.mkdirs();
            }
            if (!directoryToCopy.isDirectory()) {
                throw new IOException(
                        "Expecting File " + directoryToCopy
                        + " To be a directory in "
                        + Generic_StaticIO.class.getName()
                        + ".copyDirectory(File,File)");
            }
            if (!directoryToCopyInto.isDirectory()) {
                throw new IOException(
                        "Expecting File " + directoryToCopyInto
                        + " To be a directory in "
                        + Generic_StaticIO.class.getName()
                        + ".copy(File,File)");
            }
            File copiedDirectory_File = new File(
                    directoryToCopyInto,
                    directoryToCopy.getName());
            copiedDirectory_File.mkdir();
            File[] a_DirectoryToCopy_File_Files
                    = directoryToCopy.listFiles();
            for (File f : a_DirectoryToCopy_File_Files) {
                if (f.isFile()) {
                    copyFile(f, copiedDirectory_File);
                } else {
                    copyDirectory(f, copiedDirectory_File);
                }
            }
        } catch (IOException e) {
            System.err.print(e.getMessage());
            e.printStackTrace(System.err);
            System.exit(Generic_ErrorAndExceptionHandler.IOException);
        }
    }