@Override
		protected Void doInBackground() throws Exception {
			List<ScriptInfo> locals = new ArrayList<ScriptInfo>();
			ScriptClassLoader.loadLocal(locals, new File(Configuration.COMPILED_DIR));
			
			for (ScriptInfo si : locals) {
				firePropertyChange("script", null, si);
			}
			
			final List<ScriptInfo> definitions = new ArrayList<ScriptInfo>();
			final List<String[]> jars = SDN.getData();
			final List<byte[]> scriptList = SDN.getScriptByteList();
			if (jars != null) {
				for (int i = 0; i < scriptList.size(); i++) {
					try {
						final File file = File.createTempFile("script" + i, "jar");
						final OutputStream out = new FileOutputStream(file);
						out.write(scriptList.get(i));
						out.close();
						ScriptClassLoader.load(definitions, file);
						if (definitions.size() > 0) {
							firePropertyChange("script", null, definitions.get(definitions.size() - 1));
						}
					} catch (final Exception ignored) {
						ignored.printStackTrace();
					}
				}
			}

			firePropertyChange("finished", null, null);
			return null;
		}