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