} catch (PropertyException px) { return NOT_FOUND; } catch (NotAFunctionException nafx) { return NOT_FOUND;
    private Object getFromNode(String name) {        if (node != null) {            checkNode();            // Everything starting with an underscore is interpreted as internal property            if (name.charAt(0) == '_') {                return getInternalProperty(name);            }            if ("subnodeRelation".equals(name)) {                return node.getSubnodeRelation();            }            IProperty p = node.get(name);            if (p != null) {                switch (p.getType()) {                    case IProperty.STRING:                    case IProperty.INTEGER:                    case IProperty.FLOAT:                    case IProperty.BOOLEAN:                        return p.getValue();                }                Context cx = Context.getCurrentContext();                if (p.getType() == IProperty.DATE) {                    Date d = p.getDateValue();                    if (d == null) {                        return NOT_FOUND;                    } else {                        Object[] args = { new Long(d.getTime()) };                        try {                            return cx.newObject(core.global, "Date", args);                        } catch (PropertyException px) {                            return NOT_FOUND;                        } catch (NotAFunctionException nafx) {                            return NOT_FOUND;                        } catch (JavaScriptException nafx) {                            return NOT_FOUND;                        }                    }                }                if (p.getType() == IProperty.NODE) {                    INode n = p.getNodeValue();                    if (n == null) {                        return NOT_FOUND;                    } else {                        return Context.toObject(n, core.global);                    }                }                if (p.getType() == IProperty.JAVAOBJECT) {                    Object obj = p.getJavaObjectValue();                    if (obj == null) {                        return NOT_FOUND;                    } else {                        return Context.toObject(obj, core.global);                    }                }            }        }        return NOT_FOUND;    }