@Override
public Object getValue(Node node, Binding binding) throws NodeManagerException, BindingException {
try {
- return getValue(node).getValue(binding);
+ Variant value = getValue(node);
+ if(NodeManager.PENDING_NODE_VALUE == value)
+ return value;
+ return value.getValue(binding);
} catch (AdaptException e) {
throw new BindingException(e);
}
Variant variant = valueCache.get(node);
if(variant == null) {
Object value = realm.getEngine().getEngineValue(node);
+ if(NodeManager.PENDING_NODE_VALUE == value)
+ return (Variant)value;
Binding binding = realm.getEngine().getEngineBinding(node);
variant = new Variant(binding, value);
valueCache.put(node, variant);