return newDispatch.executeDispatch(frame, methodReceiverObject, lexicalScope, boxedReceiverObject,
methodName, blockObject, argumentsObjects, dispatchAction);
}
if (receiverObject instanceof Boolean) {
final Assumption falseUnmodifiedAssumption =
getContext().getCoreLibrary().getFalseClass().getUnmodifiedAssumption();
final RubyMethod falseMethod =
lookup(callerClass, getContext().getCoreLibrary().box(false), methodName.toString(),
ignoreVisibility, dispatchAction);
if (falseMethod == null) {
throw new UnsupportedOperationException();
}
final Assumption trueUnmodifiedAssumption =
getContext().getCoreLibrary().getTrueClass().getUnmodifiedAssumption();
final RubyMethod trueMethod =
lookup(callerClass, getContext().getCoreLibrary().box(true), methodName.toString(),
ignoreVisibility, dispatchAction);