public void init(Debugger client) {
    myDebuggerSession = XsltDebuggerSession.getInstance(myProcessHandler);

    myDebuggerSession.addListener(new XsltDebuggerSession.Listener() {
      @Override
      public void debuggerSuspended() {
        final Debugger c = myDebuggerSession.getClient();
        getSession().positionReached(new MySuspendContext(myDebuggerSession, c.getCurrentFrame(), c.getSourceFrame()));
      }

      @Override
      public void debuggerResumed() {
      }

      @Override
      public void debuggerStopped() {
        myBreakpointManager = new BreakpointManagerImpl();
      }
    });

    final BreakpointManager mgr = client.getBreakpointManager();
    if (myBreakpointManager != mgr) {
      final List<Breakpoint> breakpoints = myBreakpointManager.getBreakpoints();
      for (Breakpoint breakpoint : breakpoints) {
        final Breakpoint bp = mgr.setBreakpoint(breakpoint.getUri(), breakpoint.getLine());
        bp.setEnabled(breakpoint.isEnabled());
        bp.setLogMessage(breakpoint.getLogMessage());
        bp.setTraceMessage(breakpoint.getTraceMessage());
        bp.setCondition(breakpoint.getCondition());
        bp.setSuspend(breakpoint.isSuspend());
      }
      myBreakpointManager = mgr;
    }
  }
public void init(Debugger client)