@Nullable
    XBreakpoint restore() {
      if (myBreakpoint instanceof XLineBreakpointImpl) {
        XLineBreakpointImpl<?> lineBreakpoint = (XLineBreakpointImpl)myBreakpoint;
        VirtualFile file = lineBreakpoint.getFile();
        if (file == null) { // file was deleted
          return null;
        }
        XLineBreakpoint existingBreakpoint = findBreakpointAtLine(lineBreakpoint.getType(), file, lineBreakpoint.getLine());
        if (existingBreakpoint != null) {
          removeBreakpoint(existingBreakpoint);
        }
      }

      XBreakpointBase<?, ?, ?> breakpoint = createBreakpoint(myBreakpoint.getState());
      if (breakpoint != null) {
        addBreakpoint(breakpoint, false, true);
        myDependenciesData.restore(breakpoint);
        return breakpoint;
      }
      return null;
    }
@Nullable
    XBreakpoint restore()