@Override
 void breakpointChanged(ChromiumExceptionBreakpoint uiBreakpoint, IMarkerDelta delta) {
   FakeSdkBreakpoint sdkBreakpoint = getMap().getSdkBreakpoint(uiBreakpoint);
   if (sdkBreakpoint == null) {
     return;
   }
   boolean includeCaught = uiBreakpoint.getIncludeCaught();
   boolean enabled;
   try {
     enabled = uiBreakpoint.isEnabled();
   } catch (CoreException e) {
     throw new RuntimeException(e);
   }
   boolean changed = false;
   synchronized (this) {
     if (includeCaught != sdkBreakpoint.includeCaught) {
       changed = true;
       sdkBreakpoint.includeCaught = includeCaught;
     }
     if (enabled != sdkBreakpoint.enabled) {
       changed = true;
       sdkBreakpoint.enabled = enabled;
     }
   }
   if (changed) {
     updateRemoteState();
   }
 }
 @Override
 void breakpointAdded(ChromiumExceptionBreakpoint uiBreakpoint) {
   FakeSdkBreakpoint sdkBreakpoint = new FakeSdkBreakpoint();
   sdkBreakpoint.initProperties(uiBreakpoint);
   synchronized (this) {
     breakpoints.add(sdkBreakpoint);
     getMap().add(sdkBreakpoint, uiBreakpoint);
   }
   updateRemoteState();
 }
 public void registerLocalBreakpoints(Collection<ChromiumExceptionBreakpoint> collection) {
   synchronized (this) {
     for (ChromiumExceptionBreakpoint uiBreakpoint : collection) {
       FakeSdkBreakpoint sdkBreakpoint = new FakeSdkBreakpoint();
       sdkBreakpoint.initProperties(uiBreakpoint);
       breakpoints.add(sdkBreakpoint);
       getMap().add(sdkBreakpoint, uiBreakpoint);
     }
   }
   updateRemoteState();
 }