String name = p.getName (); ObjectPrototype op = null; if ("user".equalsIgnoreCase (name)) op = reval.esUserPrototype; else if ("global".equalsIgnoreCase (name)) op = reval.global; else if ("hopobject".equalsIgnoreCase (name)) op = reval.esNodePrototype; else { op = new ObjectPrototype (reval.esNodePrototype, reval.evaluator); try { op.putProperty ("prototypename", new ESString (name), "prototypename".hashCode ()); } catch (EcmaScriptException ignore) {} } reval.putPrototype (name, op);    if (!"global".equalsIgnoreCase (name)) { try { FunctionPrototype fp = (FunctionPrototype) reval.evaluator.getFunctionPrototype(); reval.global.putHiddenProperty (name, new NodeConstructor (name, fp, reval)); } catch (EcmaScriptException ignore) {} }
    public void initRequestEvaluator (RequestEvaluator reval) {        if (!registeredEvaluators.contains (reval))            registeredEvaluators.add (reval);        for (Enumeration en = prototypes.elements(); en.hasMoreElements(); ) {            Prototype p = (Prototype) en.nextElement ();            String name = p.getName ();            ObjectPrototype op = null;            if ("user".equalsIgnoreCase (name))                op = reval.esUserPrototype;            else if ("global".equalsIgnoreCase (name))                op = reval.global;            else if ("hopobject".equalsIgnoreCase (name))                op = reval.esNodePrototype;            else {                op = new ObjectPrototype (reval.esNodePrototype, reval.evaluator);                try {                    op.putProperty ("prototypename", new ESString (name), "prototypename".hashCode ());                } catch (EcmaScriptException ignore) {}            }            reval.putPrototype (name, op);            // Register a constructor for all types except global.            // This will first create a node and then call the actual (scripted) constructor on it.            if (!"global".equalsIgnoreCase (name)) {                try {                    FunctionPrototype fp = (FunctionPrototype) reval.evaluator.getFunctionPrototype();                    reval.global.putHiddenProperty (name, new NodeConstructor (name, fp, reval));                } catch (EcmaScriptException ignore) {}            }            p.initRequestEvaluator (reval);        }        reval.initialized = true;    }