} else { throw new RuntimeException("Invalid type for id argument in HopObject.get(): "+id);
    public Object jsFunction_get(Object id) {        if ((node == null) || (id == null)) {            return null;        }        Object n = null;        if (id instanceof Number) {            n = get(((Number) id).intValue(), this);        } else if (id instanceof String) {            // HopObject.get() is more often called for child elements than for            // ordinary properties, so try a getChildElement() first. This seems            // to have quite an impact on get() performance.            n = node.getChildElement(id.toString());            if (n != null) {               return Context.toObject(n, core.global);            }            n = getFromNode(id.toString());        } else {            throw new RuntimeException("Invalid type for id argument in HopObject.get(): "+id);        }        // since we're calling Scriptable.get() methods, we'll get NOT_FOUND rather        // than null if a property is not defined.        if (n == null || n == NOT_FOUND) {            return null;        }        return n;    }