XmlRpcObject.init(global);
    public RhinoCore(Application app) {        this.app = app;        // wrappercache = new CacheMap(500, .75f);        wrappercache = new WeakHashMap();        prototypes = new Hashtable();        Context context = Context.enter();        context.setCompileFunctionsWithDynamicScope(true);        wrapper = new Wrapper();        context.setWrapFactory(wrapper);        int optLevel = 0;        try {            optLevel = Integer.parseInt(app.getProperty("rhino.optlevel"));        } catch (Exception ignore) {        }        // System.err.println("Setting Rhino optlevel to " + optLevel);        context.setOptimizationLevel(optLevel);        try {            GlobalObject g = new GlobalObject(this, app, context);            global = context.initStandardObjects(g);            ScriptableObject.defineClass(global, HopObject.class);            ScriptableObject.defineClass(global, FileObject.class);            ScriptableObject.defineClass(global, FtpObject.class);            ImageObject.init(global);            MailObject.init(global, app.getProperties());            putPrototype("hopobject",                         ScriptableObject.getClassPrototype(global, "HopObject"));            putPrototype("global", global);            initialize();        } catch (Exception e) {            System.err.println("Cannot initialize interpreter");            System.err.println("Error: " + e);            e.printStackTrace();            throw new RuntimeException(e.getMessage());        } finally {            context.exit();        }    }