OGNL calls methods a little differently from the way Java does, because OGNL is interpreted and must choose the right method at run time, with no extra type information aside from the actual arguments supplied. OGNL always chooses the most specific method it can find whose types match the supplied arguments; if there are two or more methods that are equally specific and match the given arguments, one of them will be chosen arbitrarily.
In particular, a null argument matches all non-primitive types, and so is most likely to result in an unexpected method being called.
Note that the arguments to a method are separated by commas, and so the comma operator cannot be used unless it is enclosed in parentheses. For example,
method( ensureLoaded(), name )
is a call to a 2-argument method, while
method( (ensureLoaded(), name) )
is a call to a 1-argument method.