private static ArrayList<? super Object> loadData() {
		ArrayList<? super Object> res = new ArrayList<Object>();
		try {
			Scanner indata = new Scanner(new File(path));
			indata.useLocale(Locale.ENGLISH);
			while (indata.hasNext()) {
				addValue(res, indata);
			}
			indata.close();

		} catch (FileNotFoundException ex) {
			System.out.println("WRITING OTHER FILE");
			createFreshOptionFile();

			return loadData();
		} catch (java.util.NoSuchElementException exc) {
			System.out.println("FILE CORRUPT, MAKING ANOTHER");
			createFreshOptionFile();
			return loadData();
		}
		for(int i = 0; i < res.size(); i++){
			System.out.println(res.get(i) + " " + res.get(i).getClass().getSimpleName());
		}
		return res;
	}