public static void processDownlaod(ModInstance modInstance) throws IOException
    {
        File currentMod = new File(FileManager.dir + "/" + modInstance.type.output + "/", modInstance.modName);
        File storedMod = new File(FileManager.updaterDir + "/" + modInstance.type.storage + "/", modInstance.modName);

        if (!currentMod.exists() || !FileManager.installedMods.contains(currentMod))
        {
            debug.add("File " + modInstance.modName + " not Found in mods folder");

            if (storedMod.exists() && FileManager.modsStored.contains(storedMod))
            {
                boolean ccMod = FileManager.copyFile(storedMod, currentMod);
                if (ccMod)
                {
                    debug.add("File " + modInstance.modName + " copied to mods folder");
                    removeFromList(currentMod);
                }
            }
            else
            {

                File downloaded = Download.downloadFile(modInstance.url, FileManager.updaterDir + "/" + modInstance.type.storage+"/", modInstance.modName, "url");
                if (downloaded != null && downloaded.exists())
                {
                    debug.add("Downloaded " + modInstance.modName + " to updater/mods");
                    boolean ctc = FileManager.copyFile(storedMod, currentMod);
                    if (ctc)
                    {
                        removeFromList(currentMod);
                    }
                }
                else
                {
                    debug.add("Failed to download file " + modInstance.modName);
                    debug.add("If you have this file you can manualy add it by placing it in the updater/mods folder and running installer again");
                }
            }
        }
        else
        {

            removeFromList(currentMod);
        }
    }