Bug 7947 JDIDebugModel still using types for breakpoints
This should be changed to just check on a type name. The current implementation is doing an equality check on a type and a type name.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/BreakpointRulerAction.java
if (type != null) {
					if (!JDIDebugModel.lineBreakpointExists(type, lineNumber)) {
						Map attributes = new HashMap(10);
						JavaCore.addJavaElementMarkerAttributes(attributes, type);
						attributes.put("org.eclipse.jdt.debug.ui.JAVA_ELEMENT_HANDLE_ID", type.getHandleIdentifier());
						IJavaLineBreakpoint bp = JDIDebugModel.createLineBreakpoint(getBreakpointResource(type), type.getFullyQualifiedName(), lineNumber, line.getOffset(), line.getOffset() + line.getLength(), 0, true, attributes);
					}
				}
			}
		} catch (DebugException e) {
			Shell shell= getTextEditor().getSite().getShell();
			ErrorDialog.openError(shell, JavaEditorMessages.getString("ManageBreakpoints.error.adding.title1"), JavaEditorMessages.getString("ManageBreakpoints.error.adding.message1"), e.getStatus()); 
		} catch (CoreException e) {
			Shell shell= getTextEditor().getSite().getShell();
			ErrorDialog.openError(shell, JavaEditorMessages.getString("ManageBreakpoints.error.adding.title2"), JavaEditorMessages.getString("ManageBreakpoints.error.adding.message2"), e.getStatus()); 
		} catch (BadLocationException e) {
			Shell shell= getTextEditor().getSite().getShell();
			ErrorDialog.openError(shell, JavaEditorMessages.getString("ManageBreakpoints.error.adding.title3"), JavaEditorMessages.getString("ManageBreakpoints.error.adding.message3"), null); 
		}
	}
	
	/**
	 * @see MarkerRulerAction#removeMarkers
	 */
	protected void removeMarkers(List markers) {
		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
		try {
			
			Iterator e= markers.iterator();
			while (e.hasNext()) {