private void moveNewZipFiles(String zipPath) {
		File[] list = listFilesOrError(new File(zipPath));
		for (final File dFile : list) {
			if (dFile.isDirectory() && this.pluginExists(dFile.getName())) {
				// Current dir
				final File oFile = new File(this.plugin.getDataFolder().getParent(), dFile.getName());
				// List of existing files in the new dir
				final File[] dList = listFilesOrError(dFile);
				// List of existing files in the current dir
				final File[] oList = listFilesOrError(oFile);
				for (File cFile : dList) {
					// Loop through all the files in the new dir
					boolean found = false;
					for (final File xFile : oList) {
						// Loop through all the contents in the current dir to see if it exists
						if (xFile.getName().equals(cFile.getName())) {
							found = true;
							break;
						}
					}
					if (!found) {
						// Move the new file into the current dir
						File output = new File(oFile, cFile.getName());
						this.fileIOOrError(output, cFile.renameTo(output), true);
					} else {
						// This file already exists, so we don't need it anymore.
						this.fileIOOrError(cFile, cFile.delete(), false);
					}
				}
			}
			this.fileIOOrError(dFile, dFile.delete(), false);
		}
		File zip = new File(zipPath);
		this.fileIOOrError(zip, zip.delete(), false);
	}