@Specialization
public RubyNilClass raise(VirtualFrame frame, final RubyThread thread, RubyClass exceptionClass, RubyString message) {
final RubyBasicObject exception = exceptionClass.newInstance(this);
initialize.call(frame, exception, "initialize", null, message);
final RaiseException exceptionWrapper = new RaiseException(exception);
getContext().getSafepointManager().pauseAllThreadsAndExecute(new Consumer<Boolean>() {
@Override
public void accept(Boolean isPausingThread) {