public static ScriptInfo[] getScriptDefinitions() {
        try {
            final List<ScriptInfo> definitions = new ArrayList<ScriptInfo>();
            final List<String[]> jars = getData();
            final List<byte[]> scriptList = 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);
                    } catch (final Exception ignored) {
                        ignored.printStackTrace();
                    }
                }
                return definitions.toArray(new ScriptInfo[definitions.size()]);
            }
        } catch (final Exception e) {
            e.printStackTrace();
        }
        return null;
    }