private void AddBreakpoint(int lineNo, string moduleName, string condition) { var newItem = new LispBreakpointInfo(lineNo, moduleName, condition); var index = Breakpoints.FindIndex(elem => (elem.LineNo == lineNo) && (elem.ModuleName == moduleName)); if (index >= 0) { // replace existing item for this line Breakpoints[index] = newItem; } else { Breakpoints.Add(newItem); } }