public DebugBreakpointResolution(IDebugProgram2 program, IDebugThread2 thread, enum_BP_TYPE breakpointType, BreakpointResolutionLocation location)
        {
            Contract.Requires<ArgumentNullException>(program != null, "program");
            Contract.Requires<ArgumentNullException>(location != null, "location");

            _program = program;
            _thread = thread;
            _breakpointType = breakpointType;
            _location = location;
        }
        public DebugBreakpointResolution(IDebugProgram2 program, IDebugThread2 thread, enum_BP_TYPE breakpointType, BreakpointResolutionLocation location)
        {
            Contract.Requires <ArgumentNullException>(program != null, "program");
            Contract.Requires <ArgumentNullException>(location != null, "location");

            _program        = program;
            _thread         = thread;
            _breakpointType = breakpointType;
            _location       = location;
        }
        public DebugErrorBreakpointResolution(IDebugProgram2 program, IDebugThread2 thread, enum_BP_TYPE breakpointType, BreakpointResolutionLocation location, enum_BP_ERROR_TYPE errorType, string message)
        {
            //Contract.Requires<ArgumentNullException>(program != null, "program");
            //Contract.Requires<ArgumentNullException>(thread != null, "thread");
            Contract.Requires <ArgumentNullException>(message != null, "message");
            Contract.Requires <ArgumentNullException>(location != null, "location");
            Contract.Requires <ArgumentException>(!string.IsNullOrEmpty(message));

            _program        = program;
            _thread         = thread;
            _breakpointType = breakpointType;
            _errorType      = errorType;
            _location       = location;
            _message        = message;
        }