private Object resolveLeadingContextObject(String name, ValueWrapper value,
            AtomicReference<Hint> hintRef) {

        Object leading = resolveContextObject(name, value, hintRef);

        if (leading == null) {
            // Leading context object not found - try to resolve context
            // unrelated objects (JNDI lookup, CDI, etc.)
            Hint hint = hintRef != null ? hintRef.get() : null;
            if (hint != null) {
                leading = hint.resolve(null, name, value);
            }
            if (leading == null) {
                leading = resolve(null, name, value, hint == null
                        && hintRef != null);
            }
        }
        return leading;
    }
private Object resolveLeadingContextObject(String name, ValueWrapper value,
            AtomicReference<Hint> hintRef) {

        Object leading = resolveContextObject(name, value, hintRef);

        if (leading == null) {
            
            
            Hint hint = hintRef != null ? hintRef.get() : null;
            if (hint != null) {
                leading = hint.resolve(null, name, value);
            }
            if (leading == null) {
                leading = resolve(null, name, value, hint == null
                        && hintRef != null);
            }
        }
        return leading;
    }
private Object resolveLeadingContextObject ( String name , ValueWrapper value , AtomicReference < Hint > hintRef ) { Object leading = resolveContextObject ( name , value , hintRef ) ; if ( leading == null ) { // Leading context object not found - try to resolve context // unrelated objects (JNDI lookup, CDI, etc.) Hint hint = hintRef != null ? hintRef . get ( ) : null ; if ( hint != null ) { leading = hint . resolve ( null , name , value ) ; } if ( leading == null ) { leading = resolve ( null , name , value , hint == null && hintRef != null ) ; } } return leading ; }
Resolve the leading context object (the first part of the key). E.g.
<code>foo</code> in <code>{{foo.bar.name}}</code> may identify a property
of some context object on the stack (passed data, section iteration,
nested context, ...), or some context and data unrelated object (e.g. CDI
bean).

@param name
@param value
The value wrapper - ResolutionContext
@param hintRef
@return the resolved leading context object
@see Hint
Resolve the leading context object ( the first part of the key ) . E . g . <code > foo< / code > in <code > {{ foo . bar . name }} < / code > may identify a property of some context object on the stack ( passed data section iteration nested context ... ) or some context and data unrelated object ( e . g . CDI bean ) .