private void synchronizeSession() {
final Project project = getSession().getProject();
new BackgroundTask(project, "Initialize debug environment", true) {
public void execute(@NotNull ProgressIndicator progressIndicator) {
DatabaseDebuggerInterface debuggerInterface = getDebuggerInterface();
if (getStatus().PROCESS_IS_TERMINATING) getSession().stop();
try {
progressIndicator.setText("Synchronizing debug session");
runtimeInfo = debuggerInterface.synchronizeSession(debugConnection);
if (getStatus().TARGET_EXECUTION_TERMINATED) {
getSession().stop();
} else {
getStatus().CAN_SET_BREAKPOINTS = true;
progressIndicator.setText("Registering breakpoints");
registerBreakpoints();
runtimeInfo = debuggerInterface.stepOver(debugConnection);
progressIndicator.setText("Suspending session");
suspendSession();
}
} catch (SQLException e) {