private synchronized void updateEvaluator(Prototype prototype, Scriptable op,
private synchronized void updateEvaluator(Prototype prototype, TypeInfo info,
    private synchronized void updateEvaluator(Prototype prototype, Scriptable op,                                        Reader reader, String sourceName, int firstline) {        // System.err.println("UPDATE EVALUATOR: "+prototype+" - "+sourceName);        try {            // get the current context            Context cx = Context.getCurrentContext();            // do the update, evaluating the file            cx.evaluateReader(op, reader, sourceName, firstline, null);        } catch (Throwable e) {            app.logEvent("Error parsing file " + sourceName + ": " + e);            // also write to standard out unless we're logging to it anyway            if (!"console".equalsIgnoreCase(app.getProperty("logDir"))) {                System.err.println("Error parsing file " + sourceName + ": " + e);            }            // e.printStackTrace();        } finally {            if (reader != null) {                try {                    reader.close();                } catch (IOException ignore) {                    // shouldn't happen                }            }        }    }