if ((flags & COM.DISPATCH_METHOD) != 0) {
// This is a method call.
return callMethod(classLoader, dispIdOracle, getTarget(), params, method);
} else if (flags == COM.DISPATCH_PROPERTYGET) {
// The function is being accessed as a property.
AccessibleObject obj = method.getUnderlyingObject();
IDispatchImpl dispMethod =
(IDispatchImpl) WrappersCache.getWrapperForObject(classLoader, obj);
if (dispMethod == null || dispMethod.refCount < 1) {
dispMethod = new MethodDispatch(classLoader, dispIdOracle, method);
WrappersCache.putWrapperForObject(classLoader, obj, dispMethod);