code: @Override
      public Object callWithNamedValues(PageContext pc, Key key, Struct args) throws PageException {
  	// first check variables
  	Object o = shadow.get(key);
  	if (o instanceof UDFPlus) {
  	    return ((UDFPlus) o).callWithNamedValues(pc, key, args, false);
  	}
  
  	Member m = component.getMember(access, key, false, false);
  	if (m != null) {
  	    if (m instanceof UDFPlus) return ((UDFPlus) m).callWithNamedValues(pc, key, args, false);
  	    return MemberUtil.callWithNamedValues(pc, this, key, args, CFTypes.TYPE_STRUCT, "struct");
  	    // throw ComponentUtil.notFunction(component, key, m.getValue(),access);
  	}
  	return MemberUtil.callWithNamedValues(pc, this, key, args, CFTypes.TYPE_STRUCT, "struct");
  	// throw ComponentUtil.notFunction(component, key, null,access);
      }
docs: /*
  public Object callWithNamedValues(PageContext pc, String key,Struct args) throws PageException {
  return callWithNamedValues(pc, KeyImpl.init(key), args); }