If the value property of this instance is not already set,
this method dynamically finds the method with the specified
methodName on this target with these arguments and calls it.
The result of the method invocation is first copied
into the value property of this expression and then returned
as the result of
getValue. If the value property
was already set, either by a call to
or a previous call to
getValue then the value
property is returned without either looking up or calling the method.
The value property of an
Expression is set to
a unique private (non-
null) value by default and
this value is used as an internal indication that the method
has not yet been called. A return value of
replaces this default value in the same way that any other value
would, ensuring that expressions are never evaluated more than once.
execute method for details on how
methods are chosen using the dynamic types of the target
|if the method with the specified methodName throws an exception|