Inheritance: DebuggerMarshalByRefObject
        protected bool CheckTrampoline(Instruction instruction, TrampolineHandler handler)
        {
            TargetAddress trampoline;
            Instruction.TrampolineType type = instruction.CheckTrampoline (
                inferior, out trampoline);
            if (type == Instruction.TrampolineType.None)
                return false;

            Report.Debug (DebugFlags.SSE,
                      "{0} found trampoline {1}:{2} at {3} while running {4}",
                      this, type, trampoline, instruction.Address, current_operation);

            if (type == Instruction.TrampolineType.NativeTrampolineStart) {
                PushOperation (new OperationNativeTrampoline (this, trampoline, handler));
                return true;
            } else if (type == Instruction.TrampolineType.NativeTrampoline) {
                Method method = Lookup (trampoline);
                if (!MethodHasSource (method))
                    do_next ();
                else
                    do_continue (trampoline);
                return true;
            } else if (type == Instruction.TrampolineType.MonoTrampoline) {
                PushOperation (new OperationMonoTrampoline (
                    this, instruction, trampoline, handler));
                return true;
            } else if (type == Instruction.TrampolineType.DelegateInvoke) {
                PushOperation (new OperationDelegateInvoke (this));
                return true;
            }

            return false;
        }
            public OperationMonoTrampoline(SingleSteppingEngine sse, Instruction call_site,
						TargetAddress trampoline, TrampolineHandler handler)
                : base(sse, null)
            {
                this.CallSite = call_site;
                this.Trampoline = trampoline;
                this.TrampolineHandler = handler;
            }
            public DynlinkBreakpoint(DarwinOperatingSystem os, Instruction instruction)
                : base("dynlink", ThreadGroup.System, instruction.Address)
            {
                this.OS = os;
                this.Instruction = instruction;