@SuppressWarnings({ "unchecked" })
		private boolean load() {
			
			log.info("Loading config file \"" + configDir.getPath(configPath) + "\"");

			Object obj;
			ObjectInputStream os = null;
			try {
				try {
					os = new ObjectInputStream(configDir.readFile(configPath));
				} catch (IOException e) {
					log.err("Failed to open config file: " + configPath);
					//log.excp(e);
					return false;
				}
				
				try {
					obj = os.readObject();
				} catch (ClassNotFoundException | IOException e) {
					log.err("Failed to read config file: " + configPath);
					log.excp(e);
					return false;
				}
			} finally {
				try {
					if(os != null)
						os.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			
			try {
				values = (HashMap<? super Object, ? super Object>)obj;
			}catch(ClassCastException e) {
				log.err("Failed to read expected datastructure!");
				log.excp(e);
				return false;
			}
			
			return true;
		}