> But 'parentRequest' used in the code seems a little weird, my original version callingRequest or just caller might be better because we
> might get confused with the parent used in block inheritance.
> By the way, in the above post it is stated that there is some controversial discussion in applying the idea used in this patch on session. What is it?
Have a look at this thread:
It's best to read whole discussion because lots of great thoughts has been presented.
> After a more detail look at the code, I think that iteration over call stack is necessary in implementing getValues() and getNames() method.
> For Object getValue(String name), recursive call is enough. But for getting all values or all names for the whole values in the calling chain,
> iterating each call frame to collect their values is necessary. However, by implementing these 2 methods (getValues() and getNames()),
> then there is no such thing as values hiding.
Could you explain in detail why it's needed for getValues()? Why approach outlined in my above comment won't work?
> Also I find some bug in my previous patch. So I have the new implementation attached for reference.
Could you be more specific? What bug you have discovered?