private void presetLoader() {
		PresetLoadDialog pld = new PresetLoadDialog(this);
		if (pld.isCompleted()) {
			// Apply it
			long seed = pld.getSeed();
			String config = pld.getConfigString();
			this.romHandler = pld.getROM();
			this.romLoaded();
			this.restoreFrom(config);
			romSaveChooser.setSelectedFile(null);
			int returnVal = romSaveChooser.showSaveDialog(this);
			if (returnVal == JFileChooser.APPROVE_OPTION) {
				File fh = romSaveChooser.getSelectedFile();
				// Fix or add extension
				List<String> extensions = new ArrayList<String>(Arrays.asList(
						"sgb", "gbc", "gba", "nds"));
				extensions.remove(this.romHandler.getDefaultExtension());
				fh = FileFunctions.fixFilename(fh,
						this.romHandler.getDefaultExtension(), extensions);
				boolean allowed = true;
				if (this.romHandler instanceof AbstractDSRomHandler) {
					String currentFN = this.romHandler.loadedFilename();
					if (currentFN.equals(fh.getAbsolutePath())) {
						JOptionPane.showMessageDialog(this, bundle
								.getString("RandomizerGUI.cantOverwriteDS"));
						allowed = false;
					}
				}
				if (allowed) {
					// Apply the seed we were given
					RandomSource.seed(seed);
					presetMode = true;
					performRandomization(fh.getAbsolutePath(), seed,
							pld.getTrainerClasses(), pld.getTrainerNames(),
							pld.getNicknames());
				} else {
					this.romHandler = null;
					initialFormState();
				}

			} else {
				this.romHandler = null;
				initialFormState();
			}
		}

	}