public Object trap(RubyString signalName, UndefinedPlaceholder command, final RubyProc block) {
notDesignedForCompilation();
final Signal signal = new Signal(signalName.toString());
final SignalHandler newHandler = new ProcSignalHandler(block);
final SignalHandler oldHandler = Signal.handle(signal, newHandler);
if (oldHandler instanceof ProcSignalHandler) {
return ((ProcSignalHandler) oldHandler).getProc();
}