for (Iterator it = prototype.actions.values().iterator(); it.hasNext(); ) {
for (Iterator it = prototype.getActions().values().iterator(); it.hasNext(); ) {
    void evaluatePrototype (Prototype prototype) {        // System.err.println ("FESI EVALUATE PROTO "+prototype+" FOR "+this);	ObjectPrototype op = null;	// get the prototype's prototype if possible and necessary	ObjectPrototype opp = null;	Prototype parent = prototype.getParentPrototype ();	if (parent != null) {	    // see if parent prototype is already registered. if not, register it	    opp = getPrototype (parent.getName ());	    if (opp == null) {	        evaluatePrototype (parent);	        opp = getPrototype (parent.getName ());	    }	}	String name = prototype.getName ();	if (!"global".equalsIgnoreCase (name) && !"hopobject".equalsIgnoreCase (name) && opp == null) {	    if (app.isJavaPrototype (name))	        opp = getPrototype ("__javaobject__");	    else	        opp = getPrototype ("hopobject");	}	// if prototype doesn't exist (i.e. is a standard prototype built by HopExtension), create it.	op = getPrototype (name);	if (op == null) {	    op = new ObjectPrototype (opp, evaluator);	    try {	        op.putProperty ("prototypename", new ESString (name), "prototypename".hashCode ());	    } catch (EcmaScriptException ignore) {}	    putPrototype (name, op);	} else {                      // reset prototype to original state	    resetPrototype (op);	    // set parent prototype just in case it has been changed	    op.setPrototype (opp);	}	// Register a constructor for all types except global.	// This will first create a new prototyped hopobject and then calls                   // the actual (scripted) constructor on it.	if (!"global".equalsIgnoreCase (name) && !"root".equalsIgnoreCase (name)) {	    try {	        FunctionPrototype fp = (FunctionPrototype) evaluator.getFunctionPrototype();	        global.putHiddenProperty (name, new NodeConstructor (name, fp, this));	    } catch (EcmaScriptException ignore) {}	}	for (Iterator it = prototype.functions.values().iterator(); it.hasNext(); ) {	    FunctionFile ff = (FunctionFile) it.next ();	    if (ff.hasFile ())	        evaluateFile (prototype, ff.getFile ());	    else	        evaluateString (prototype, ff.getContent ());	}	for (Iterator it = prototype.templates.values().iterator(); it.hasNext(); ) {	    Template tmp = (Template) it.next ();	    try {	        FesiActionAdapter adp = new FesiActionAdapter (tmp);	        adp.updateEvaluator (this);	    } catch (EcmaScriptException ignore) {}	}	for (Iterator it = prototype.actions.values().iterator(); it.hasNext(); ) {	    ActionFile act = (ActionFile) it.next ();	    try {	        FesiActionAdapter adp = new FesiActionAdapter (act);	        adp.updateEvaluator (this);	    } catch (EcmaScriptException ignore) {}	}    }