public static object MethodPropagateReturn(RubyScope/*!*/ scope, Proc block, BlockReturnResult/*!*/ unwinder)
 {
     if (unwinder.TargetFrame == scope) {
         return unwinder.ReturnValue;
     } else if (block != null) {
         return unwinder;
     } else {
         throw unwinder.ToUnwinder();
     }
 }
 public static object MethodPropagateReturn(RubyScope /*!*/ scope, Proc block, BlockReturnResult /*!*/ unwinder)
 {
     if (unwinder.TargetFrame == scope)
     {
         return(unwinder.ReturnValue);
     }
     else if (block != null)
     {
         return(unwinder);
     }
     else
     {
         throw unwinder.ToUnwinder();
     }
 }