private Object getChildElement(Key key, Object defaultValue) { // column and query has same name if (key.equals(this.key)) { return get(qry.getCurrentrow(), defaultValue); } // get it from undefined scope PageContext pc = ThreadLocalPageContext.get(); if (pc != null) { UndefinedImpl undefined = ((UndefinedImpl) pc.undefinedScope()); boolean old = undefined.setAllowImplicidQueryCall(false); Object sister = undefined.get(this.key, null); undefined.setAllowImplicidQueryCall(old); if (sister != null) { try { return pc.get(sister, key); } catch (PageException e) { return defaultValue; } } } return defaultValue; }